CES2016에 출품된 EHANG 186이라는 사람이 탈 수 있는 드론이다.

https://www.youtube.com/watch?v=_vGd1Oy7Cw0

사람이 탈 수 있는 드론이라는 컨셉 자체도 재미 있지만, 이 제품이 상용화 되고 안되고의 문제가 아니라, 시작하게 된 매우 확고한 철학을 가지고, 수 많은 실패를 무릅쓰고 진행했다는 것이 놀랍다.

항상 느끼는 것이지만, 확고한 신념이나 철학을 근간으로 하는 제품은 상업적인 성공 여부와는 관계 없이 정말 매력적이다.



반응형

Video Title : Embedded Programming Lesson12- structures and CMSIS

Source : https://www.youtube.com/watch?v=A0r3O2TxtiU


30분경부터의 내용은 기존 프로젝트를 CMSIS 형식으로 변경하는 내용이 나온다.


방법은 다음과 같다.


1. 기존 헤더 파일(lm4f120h5qr.h)을 삭제

2. CMSIS header 파일(tm4c_cmsis.h)을 include. 해당 파일은 cmsis_m4.h를 include하고 있음

3. 기존의 Direct Peripheral Access Code를 CMSIS Structure를 이용하는 방식으로 변경

SYSCTL_RCGCGPIO_R |= (1U << 5);

SYSCTL->RCGC2 |= (1U << 5);

와 같이 변경한다.


- End -

반응형

'Embedded > CMSIS' 카테고리의 다른 글

[CMSIS] 프로젝트 구성 방법  (0) 2015.12.02

Source : https://www.youtube.com/watch?v=jQZi81O3cMc

Video Title : CMSIS Tutorial #1- (CMSIS-CORE)


CMSIS 스펙에 있는 CMSIS-CORE의 File Structure는 하기와 같다.

From : http://www.keil.com/pack/doc/CMSIS/Core/html/_templates_pg.html


이 중에서 파란색 파일들은 Silicon Vendor가 제공하게 되며, 나머지 분홍색 파일들은 CMSIS Spec.에 있는 파일을 사용하게 된다.


파란색 파일들의 특징은 다음과 같다.


startup_<device>.s

- Start up code로 interrupt service routine등을 정의한다.


system_<device>.c

- Reset vector로부터 시작되는 초기 함수(예를 들면 SystemInit())를 포함하며, clock 설정등의 기본적인 설정 함수들이 포함된다.


<device>.h

- Peripheral의 주소나등 해당 chipset 고유의 register structure를 정의한다.


system_<device>.h

- system_<device>.c에서 정의한 함수들을 선언


본 예제에서 해당 파일들은 www.ti.com/tool/cmsis_device_headers에서 다운 받은 파일들을 사용한다.


이러한 파일들을 이용해서 실제 project를 만드는 방법은 다음과 같다.

1. inc 폴더와 src 폴더를 생성한다.

2. inc 폴더에는 <device>.h, system_<device>.h를 복사한다. (본 비디오에서는 LM4F120H5QR.h, system_LM4F.h)

3. src 폴더에는 system_<device>.c를 복사한다. (본 비디오에서는 system_LM4F.c)

4. startup_<device>.s를 root 폴더에 include한다. (본 비디오에서는 TI-CMSIS-Devices-8636/TI/LM4F/Source/IAR/startup_LM4F.s를 복사하여 사용함. 컴파일러에 따라서 사용해야 하는 파일은 틀려짐)

5. 컴파일러 옵션에서 CMSIS 스펙을 다운 받으면 있는 CMSIS/Include 폴더를 include path에 추가한다. (core_cm4.h등의 파일등이 있는 폴더)

6. root 폴더에 실행 내용이 없는 main.c(application)를 작성한다. (본 비디오에서는 main.c의 내용은 다음과 같음.


#include <LM4F120H5QR.h>


int main(void) {

    ;

}

7. 컴파일 후 실행한다.

본 Video를 통해서 CMSIS 프로젝트 구성 방법을 확인할 수 있다.

- End -


반응형

'Embedded > CMSIS' 카테고리의 다른 글

[CMSIS] 기존 프로젝트를 CMSIS 형식으로 변경  (0) 2015.12.03

+ Recent posts