一、stm32固件库文件分析
1、汇编编写的启动文件
startup_stm32f10x_hd.s:设置堆栈指针、设置PC指针、初始化中断向量表、配置系统时钟、调用c库函数_main去到c的世界;
2、时钟配置文件
system_stm32f10x.c:把外部时钟HSE=8MHz,经过PLL倍频为72MHz,执行该启动文件时已经将系统时钟配置为72MHz,不用再在main函数中配置;
3、外设相关
stm32f10x.h:实现了内核之外外设的寄存器映射
xxx:GPIO、USART、I2C、SPI、FSMC
stm32f10x_xxx.c:外设的驱动函数库文件
stm32f10x_xxx.h:存放外设的初始化结构体,外设初始化结构体成员的参数列表,外设固件库函数的声明
4、内核相关
CMSIS-Cortex微控制器软件接口标准
core_cm3.h:实现了内核里面外设的寄存器映射,NVIC、SysTicky…
core_cm3.c:内核外设的驱动函数库文件
这两个库函数不仅针对ST的芯片,针对使用cortex内核的芯片都可以使用,但是ST公司对其进行裁剪并重新写了两个库函数,只针对ST公司的芯片。
NVIC(嵌套向量中断控制器)、SysTick(系统滴答定时器)
misc.h
misc.c
5、头文件的配置文件
stm32f10x_conf.h:头文件的头文件
6、专门存放中断服务函数的C文件
stm32f10x_it.c
stm32f10x_it.h
中断服务函数可以随意放在其他地方,并不一定要放在stm32f10x_it.c
二、固件库新建工程
1、桌面新建文件夹存放新建工程
2、为了方便文件管理,在工程文件夹下新建以下几个文件夹</