一个工程包含启动文件、时钟配置文件、外设配置、内核相关配置、中断的管理文件以及对头文件进行管理汇总的文件。
一、简洁分析固件库所需:
1.启动文件
设置堆栈指针、PC指针、初始化中断向量表
2.时钟配置
RCC配置通过外设晶振,外设晶振可以产生7M频率但不够需要PLL倍频到72M
3.外设
例如GPIO、SPI、IIC......一些外设设置
4.内核相关
core.h
core_cm3.c//实现内核里面配置
5.头文件管理配置文件
用stm32f10x_conf.h总体包含了其他的头文件为了方便
6.中断配置文件
用stm32f10x_it.c配置中断服务
二、开始建立项目文件夹并分析
• Libraries:文件夹下是驱动库的源代码及启动文件,这个非常重要,我们要使用的固件库就
在这个文件夹里面。。
• Project :文件夹下是用驱动库写的例子和工程模板
• Utilities:包含了基于 ST 官方实验板的例程,不需要用到,略过即可。
• stm32f10x_stdperiph_lib_um.chm:库帮助文档
![](https://img-blog.csdnimg.cn/direct/c01c2ad00d744aa193d5b389d20ed54c.png)
stm32f10x_it.c:这个文件是专门用来编写中断服务函数的
system_stm32f10x.c:这个文件包含了 STM32 芯片上电后初始化系统时钟、扩展外部存储器用的
stm32f10x_conf.h:这个文件被包含进 stm32f10x.h 文件。当我们使用固件库编程的时候,如果
需要某个外设的驱动库,就需要包含该外设的头文件:stm32f10x_ppp.h,包含一个还好,如果
是用了多外设,就需要包含多个头文件,这不仅影响代码美观也不好管理,现我们用一个头
文件 stm32f10x_conf.h 把这些外设的头文件都包含在里面,让这个配置头文件统一管理这些外
设的头文件,我们在应用程序中只需要包含这个配置头文件即可,我们又知道这个头文件在
stm32f10x.h 的最后被包含,所以最终我们只需要包含 stm32f10x.h 这个头文件即可,非常方便。