STM32固件庫(kù)文件分析
STM32固件庫(kù)文件分析
1-匯編編寫(xiě)的啟動(dòng)文件 startup_stm32f10x_hd.s:設(shè)置堆棧指針、設(shè)置PC指針、初始化中斷向量表、配置系統(tǒng)時(shí)鐘、對(duì)用C庫(kù)函數(shù)_main最終去到C的世界
2-時(shí)鐘配置文件 system_stm32f10x.c:把外部時(shí)鐘HSE=8M,經(jīng)過(guò)PLL倍頻為72M。
3-外設(shè)相關(guān)的 stm32f10x.h:實(shí)現(xiàn)了內(nèi)核之外的外設(shè)的寄存器映射 xxx:GPIO、USRAT、I2C、SPI、FSMC stm32f10x_xx.c:外設(shè)的驅(qū)動(dòng)函數(shù)庫(kù)文件 stm32f10x_xx.h:存放外設(shè)的初始化結(jié)構(gòu)體,外設(shè)初始化結(jié)構(gòu)體成員的參數(shù)列表,外設(shè)固件庫(kù)函數(shù)的聲明
4-內(nèi)核相關(guān)的 CMSIS - Cortex 微控制器軟件接口標(biāo)準(zhǔn) core_cm3.h:實(shí)現(xiàn)了內(nèi)核里面外設(shè)的寄存器映射 core_cm3.c:內(nèi)核外設(shè)的驅(qū)動(dòng)固件庫(kù)
NVIC(嵌套向量中斷控制器)、SysTick(系統(tǒng)滴答定時(shí)器) misc.h misc.c
5-頭文件的配置文件 stm32f10x_conf.h:頭文件的頭文件 //stm32f10x_usart.h //stm32f10x_i2c.h //stm32f10x_spi.h //stm32f10x_adc.h //stm32f10x_fsmc.h ......
6-專門存放中斷服務(wù)函數(shù)的C文件 stm32f10x_it.c stm32f10x_it.h
中斷服務(wù)函數(shù)你可以隨意放在其他的地方,并不是一定要放在stm32f10x_it.c
include "stm32f10x.h" // 相當(dāng)于51單片機(jī)中的 #include
int main(void) { // 來(lái)到這里的時(shí)候,系統(tǒng)的時(shí)鐘已經(jīng)被配置成72M。 }