1. STM32F10x Standard Peripheral Library
STM32F103 Series를 지원하는 Device Driver들은 STM32F10x 라는 이름의 Peripheral Library라는 형태로 배포됩니다.
STSW-STM32054 를 클릭하면 v3.5.0 의 Library를 다운로드 받을 수 있는 페이지로 이동합니다.
다운을 받은 후 압축을 풀면 다음과 같은 폴더 구조를 확인 할 수 있습니다.
- Libraries
---- CMSIS :: ARM에서 제공한 Cortex M Software Insterface Standard v1.3
---- STM32F10x_StdPeriph_Driver :: STM32F10x Standard Peripherals Library Drivers v3.5
- Project
---- STM32F10x_StdPeriph_Examples :: 각 Peripheral들의 Example
---- STM32F10x_StdPeriph_Template :: Standard Peripherals Library Driver들을 위한 Template 코드
- Utilities
---- STM32_EVAL :: 각종 Evaluation 보드에서 추가적으로 사용되어지는 예제 코드들...
여기서 우리가 사용할 코드는 Libraries 폴더에 있는 CMSIS 와 STM32F10x Library 입니다.
CMSIS는 따로 언급하겠짐나 https://arm.com/ 에서 관련 자료및 최신 버전의 코드를 다운 받을 수 있으며, 코드 다운시 회원 가입이 필요합니다.
앞으로 진행할 예제에서는 ST에서 제공되는 v1.3을 사용하여도 무방합니다.
2. CMSIS (Cortex Microcontroller Software Interface Standard)
홈페이지 :: https://arm.com
ARM에서 Cortex M Series에 해당하는 Library를 제공하고 있다.
Download Specifications를 통하여 Download가 가능하다.
단 회원 가입이 필요하며, 회원 가입은 무료로 가능하다.
2014년 5월 현재 4.0 버전을 배포하고 있다.
CMSIS 4.0 디렉토리 구조
- CMSIS
---- DSP_Lib
---- Documentation
---- Driver
---- Include
---- Lib
---- Pack
---- RTOS
---- SVD
---- UserCodeTemplates
- CMSIS_RTX
---- Doc
---- INC
---- LIB
---- SRC
---- Templates
---- UserCodeTemplates
- Device
---- ARM
---- _Template_Flash
---- _Tempate_Vendor
STM32F10x Standard Peripheral Libraries Driver에서는 CMSIS Core에 해당하는
CMSIS > include 폴더에 있는
core_cmx.hcore_cmFunc.h
core_cmInstr.h
3개의 파일만 사용한다.