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