CMSIS
Cortex Microcontroller Software Interface Standard의 약자. 즉 다양한 칩 벤더가 Cortex 시리즈의 IP를 라이센스해가면서 하드웨어 독립적인 표준화된 소프트웨어 인터페이스가 필요하게 됨. 이것은 다음을 포함한다. 스펙은 ARM에 사용자 등록을 하면 받을 수 있다. 회원 가입을 하고 이 링크에 접속을 한다. https://silver.arm.com/browse/CMSIS
- CMSIS-CORE: provides an interface to Cortex-M0, Cortex-M3, Cortex-M4, SC000, and SC300 processors and peripheral registers
- CMSIS-DSP: DSP library with over 60 functions in fixed-point (fractional q7, q15, q31) and single precision floating-point (32-bit) implementation
- CMSIS-RTOS API: standardized programming interface for real-time operating systems for thread control, resource, and time management
- CMSIS-SVD: System View Description XML files that contain the programmer’s view of a complete microcontroller system including peripherals
- CMSIS-DAP
CMSIS-DAP의 DAP는 Coresight Debug Access Port의 약자이다. 구체적인 스펙은 역시 ARM에 사용자 등록을 하면 받을 수 있다. https://silver.arm.com/browse/CMSISDAP 아래 그림은 3가지 mbed모듈에 어떻게 CMSIS-DAP가 연결이 되어 있는지를 보여준다.
여기서 onboard interface의 기능은 다음 그림으로 설명이 된다. 즉 호스트와는 USB로 연결이 되어, Mass Storage Device 프로그래밍, CMSIS-DAP 로 디버깅, 가상 시리얼 포트를 제공한다.
mbed의 HDK에 이것이 포함이 되어서 커스텀 디자인을 지원하지만 현재는 NXP LPC1768, LPC11U24 and KL25Z 이 3가지 칩만 지원을 하고, 몇 벤더(NXP, Freescale)만 선택을 했다는…
The mbed HDK currently supports the NXP LPC1768, LPC11U24 and KL25Z. Due to an unexpectedly high demand for the HDK, we are choosing a few lead partners to work with to iron out any issues that may arise before we make it freely downloadable.
출처: http://mbed.org/handbook/mbed-HDK#mbed-onboard-interface
CMSIS-DAP firmware
중요한 것은 인터페이스 칩의 firmware인데, 이것도 위 사이트에서 다운로드가 가능하며 하드웨어 요구사항은 다음과 같다.
Hardware Requirements
The CMSIS-DAP Firmware is designed for Debug Units that fulfill the following hardware requirements:
- Cortex-M0, Cortex-M0+, Cortex-M3, or Cortex-M4 processor-based microcontroller.
- CPU Clock: 48MHz or higher; Microcontroller must have a SYSTICK timer.
- RAM: 8KB or more; Flash ROM: 16KB or more.
- Full-speed or High-speed USB Device Peripheral.
- 7 standard I/O pins for JTAG/SWD Device Interface.
- optional 2 I/O pins for Status LEDs.
추가자료
- SeeedStudio의 경우는 보드에 타겟칩만 있는데, 이경우는 보드 2개를 연결해서 프로그래밍을 하기도 한다. 관련 정보
- NXP에서 제공하는 app. note: Porting the CMSIS-DAP debugger to the Cortex-M0 platform [wpdm_file id=4]