STM32新建工程模板(固件库版本)的一些笔记(0)

STM32新建工程(固件库版本)笔记(0)

#新建一个固件库的工程模板
1、先新建一个文件夹用来保存模板所需要的文件夹
2、新建六个文件夹用来保存相对应的文件,它们分别是

名称 作用
DOC 用来存放程序说明的文件,由写程序的人添加
Libraries 存放的是库文件
Listing 存放编译器编译时候产生的 C/汇编/链接的列表清单
Output 存放编译产生的调试信息、 hex 文件、预览信息、封装库等
Project 用来存放工程
User 用户编写的驱动文件

##然后根据自己所用的芯片型号选取相对相应的固件库
1、把固件库里面的Libraries里面的内容拷贝到上面(就是刚才自己新建的文件)Libraries里面
2、把Project目录下的文件名为STM32F4xx_StdPeriph_Templates的目录下的四个文件拷贝到User里面。这四个文件分别是stm32f4xx_it.h、stm32f4xx_it.c、stm32f4xx_conf.h、main.c。初步工作已完成。
###打开MDK(keil)开始新建工程,选择自己所使用的芯片,关闭弹出来的在线添加库文件。
1、新建工程,将工程保存到Project(刚才自己新建的文件)
2、添加组建文件,新建四个组件文件用来存放不同的文件。

名称 作用
STARTUP 存放汇编的启动文件: startup_stm32f40xx.s
CMSIS 用来系统初始化时钟:system_stm32f4xx.c
STM32F4xx_StdPeriph_Driver 与 STM32 外设相关的库文件misc.cstm32f4xx_ppp.c(ppp 代表外设名称)
USER 用户编写的文件:main.c ,main 函数文件,暂时为空stm32f4xx_it.c:中 断有关的函数都放这个文件,暂时为空
DOC 工程说明txt:程序说明文件,用于说明程序的功能和注意事项等

3、然后再相对应的组件文件中添加相对应的文件,如上面的表格里面的文件。头文件先不管只添加表格上面提到的。从官方的库里面拷贝进来的有一部分文件按是不需要的可以删除,用到的基本都在表格里面。可以适当删除。
4、配置魔术棒里面的相关内容,生成HEX文件等,头文件的添加在C/C++目录下的include paths下,把所有的刚才在自己新建的工程模板文件下的.h文件根目录全部添加进来,一共是四个如下图所示。
STM32新建工程模板(固件库版本)的一些笔记(0)

5、配置完如上图后可能会报错,例如什么没有定义之类的。应该是下面的问题,打开文件stm32f4xx_it.c,删除里面的。如下图所示。下图有标注所需要删除的地方,这是因为官方给的模板文件里面用到了这两个。而自己新建工程模板没有用到,所以要删除。STM32新建工程模板(固件库版本)的一些笔记(0)

STM32新建工程模板(固件库版本)的一些笔记(0)
6、还要自C/C++目录下的Define下添加两个宏:USE_STDPERIPH_DRIVER,STM32F40_41xxx,基于F407的。
USE_STDPERIPH_DRIVER:为了告诉 STM32 标准库,我们使用的芯片是 STM32F07 型号,使 STM32 标准库根据我们选定的芯片型号来配置。
STM32F40_41xxx:为了让 stm32f4xx.h 包含 stm32f4xx_conf.h 这个头文件。
我看的是野火的教材。教材开源可以在论坛或公众号上找到
写的不全,个人初学的一些笔记总结,欢迎交流指正。