STM32固件库文件分析
1、汇编编写的启动文件
startup/stm32f10x.hd.s:设置堆栈指针,设置pc指针,初始化中断向量,配置系统时钟,对用c库函数_main最后去c语言世界里。
2、时钟配置文件
system_stm32f10x.c:把外部时钟HSM=8HZ,经过PLL被频为72M。
3、外设相关的
stm32f10x.h:把实现了内核之外的外设的寄存器映射,也就是俗称的上帝之手。
stm32f10x_xx.c:外设的驱动函数库文件。
stm32f10x_xx.h:存放外设的初始化结构体,外设初始化结构成员的参数列表,外设固件的库函数声明。。
4、内核相关
CMSIS_Cortex 为控制器软件接口标准。
core_cm3.h;实现了内核里面 外设的寄存器映射。
core_cm3.c: 内核外设的驱动固件库。
NVIC(嵌套向量的中断控制器){这时就会用到misc.h和misc.c}、SysTick(系统滴答定时器)
5、头文件的头文件
需要用到外设时去stm31f10x_conf.h中去解除注释。
如使用misc的时候就会去其中吧misc.h去解除注释;
6、专门存放中断服务函数的c文件。
stm32f10_it.c//存放中断服务函数,
stm32f10_it.h
另外就是中断服务函数也可以放在其他地方如下所示。
#include"stm32f10_it.h"
int main(void)
{
//这里写入中断服务函数,这时系统的时钟就被设置为72MHZ。
}