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