我們使用STM32固件庫,就需要了解官方提供的固件庫包結構。
文件夾介紹:
固件庫包的Libraries下有CMSIS和STM32F10x-StdPeriph-Driver兩個目錄,這其中包含了所以固件庫核心的所有子文件夾河子文件。
STM32F10x-StdPeriph-Driver //目錄下為固件庫源代碼;
CMSIS //啟動文件,有inc和src兩文件夾,放置stm32f10x-xxx.h和stm32f10x-xxx.c,每個外設對應一個文件;
Project //存放ST官方提供實例源碼;
文件介紹:
core-cm3.c core-cm3.h //提供進入Cortex-M3內核接口,Coresupport目錄下啟動文件主要是進行堆棧之類的初始化、中斷向量表以及中斷函數定義。啟動文件要引導進入main函數。Rest-Handler中斷函數是唯一實現的中斷處理函數,其他的中斷函數基本是死循環:
Rest handler
Reset-Handler PROC
EXPORT Reset-Handler
IMPORT --main
IMPORT SystemInit
LDR R0,=SystemInit
BLX R0
LDR R0,=--main
BX R0
ENDP
如上這段代碼在系統啟動之後,首先調用SystemInit系統初始化函數,再進入main函數。