STM32
登录
直播中
那些年儿ing
12年用户
1308经验值
擅长:84784
私信
关注
[问答]
求一种stm32固件库工程的设计方案
开启该帖子的消息推送
STM32
固件库
keil5
如何去新建一种
STM32
固件库工程呢?有哪些配置步骤呢?
回帖
(1)
王晗
2021-11-29 12:15:31
1、首先先新建一个工程文件夹,在它之下再新建7个文件夹
DOC用于存放程序说明文件
Listing存放的是编译器编译时候产生的c/汇编/链接的列表清单
Output存放的是编译产生的调试信息、hex文件、预览信息、封装库等
Project用来存放工程
CMSIS 和 STM32F4xx_StdPeriph_Driver 用来存放的是固件库文件
USER是用户编写的驱动文件
2、新建工程
打开 KEIL5,新建一个工程,工程名根据喜好命名。
接下来选择CPU具体型号,如果这里没有出现你想要的 CPU 型号,或者一个型号都没有,那么肯定是你的 KEIL5没
有添加 device 库, KEIL5 不像 KEIL4 那样自带了很多 MCU 的型号,KEIL5 需要自己添加。(这里以stm32f429芯片为例构建固件库工程模板)
等下我们手动添加库文件,这里我们点击关掉。
在新建的工程中添加 5个组文件夹,用来存放各种不同的文件,文件从本地建好的工程文件夹下获取,双击组文件夹就会出现添加文件的路径,然后选择文件即可。
右键点击Target1
新建如下几个组文件夹
STARTUP:存放汇编的启动文件:startup_stm32f429_439xx.s
CMSIS: 存放与内核有关的文件这里以M4内核为例:system_stm32f4xx.c
STM32F4xx_StdPeriph_Driver:存放STM32外设库文件misc.c stm32f4xx_ppp.c(ppp代表外设名称)
USER:用户编写的文件: main.c:main函数文件,暂时为空 stm32f4xx_it.c:跟中断有关的函数都放这个文件,暂时为空 DOC: 工程说明.txt:程序说明文件,用于说明程序的功能和注意事项等
先把上面提到的文件从 ST 标准库中复制到工程模版对应文件夹的目录下,然后在新建的工程中添加这些文件,双击组文件夹就会出现添加文件的路径,然后选择文件即可。
STM32F429比较特殊,它有用 FMC外设代替了 FSMC外设的功能,所以它的库文件与其它型号的芯片不一样,在添加外设文件时,stm32f4xx_fmc.c 和 stm32f4xx_fsmc.c文件只能存在一个,而且我们的 STM32F429芯片必须用 fmc 文件。如果我们把外设库的所有文件都添加进工程,也可以使用下面的方法,设置文件不加入编译,这样也不会导致编译问题。这种设置在开发时也很常用,暂时不把文件加进编译,方便调试。
添加完成后,接下来进行设置
这一步的配置工作很重要,很多人串口用不了 printf 函数,编译有问题,下载有问题,都是这个步骤的配置出了错。
(1) Target 中选中微库“ Use MicroLib”,为的是在日后编写串口驱动的时候可以使用printf函数。而且有些应用中如果用了 STM32的浮点运算单元 FPU,一定要同时开微库,不然有时会出现各种奇怪的现象。FPU 的开关选项在微库配置选项下方的“Use
Single Precision”中,默认是开的。
(2) 在 Output 选项卡中把输出文件夹定位到我们工程目录下的“output”文件夹,如果想在编译的过程中生成 hex文件,那么那 Create HEX File 选项勾上。
(3) 在 Listing选项卡中把输出文件夹定位到我们工程目录下的“Listing”文件夹。
(4) 在 C/C++选项卡中添加处理宏及编译器编译的时候查找的头文件路径。
在这个选项中添加宏,就相当于我们在文件中使用“#define”语句定义宏一样。在编译器中添加宏的好处就是,只要用了这个模版,就不用源文件中修改代码。
STM32F429_439xx 宏:为了告诉 STM32标准库,我们使用的芯片是 STM32F429型号,使 STM32标准库根据我们选定的芯片型号来配置。
USE_STDPERIPH_DRIVER 宏:为了让 stm32f4xx.h包含 stm32f4xx_conf.h 这个头文件。
“Include Paths ”这里添加的是头文件的路径,如果编译的时候提示说找不到头文件,一般就是这里配置出了问题。你把头文件放到了哪个文件夹,就把该文件夹添加到这里即可。(请使用图中的方法用文件浏览器去添加路径,不要直接手打路径,容易出错) 编译即可
1、首先先新建一个工程文件夹,在它之下再新建7个文件夹
DOC用于存放程序说明文件
Listing存放的是编译器编译时候产生的c/汇编/链接的列表清单
Output存放的是编译产生的调试信息、hex文件、预览信息、封装库等
Project用来存放工程
CMSIS 和 STM32F4xx_StdPeriph_Driver 用来存放的是固件库文件
USER是用户编写的驱动文件
2、新建工程
打开 KEIL5,新建一个工程,工程名根据喜好命名。
接下来选择CPU具体型号,如果这里没有出现你想要的 CPU 型号,或者一个型号都没有,那么肯定是你的 KEIL5没
有添加 device 库, KEIL5 不像 KEIL4 那样自带了很多 MCU 的型号,KEIL5 需要自己添加。(这里以stm32f429芯片为例构建固件库工程模板)
等下我们手动添加库文件,这里我们点击关掉。
在新建的工程中添加 5个组文件夹,用来存放各种不同的文件,文件从本地建好的工程文件夹下获取,双击组文件夹就会出现添加文件的路径,然后选择文件即可。
右键点击Target1
新建如下几个组文件夹
STARTUP:存放汇编的启动文件:startup_stm32f429_439xx.s
CMSIS: 存放与内核有关的文件这里以M4内核为例:system_stm32f4xx.c
STM32F4xx_StdPeriph_Driver:存放STM32外设库文件misc.c stm32f4xx_ppp.c(ppp代表外设名称)
USER:用户编写的文件: main.c:main函数文件,暂时为空 stm32f4xx_it.c:跟中断有关的函数都放这个文件,暂时为空 DOC: 工程说明.txt:程序说明文件,用于说明程序的功能和注意事项等
先把上面提到的文件从 ST 标准库中复制到工程模版对应文件夹的目录下,然后在新建的工程中添加这些文件,双击组文件夹就会出现添加文件的路径,然后选择文件即可。
STM32F429比较特殊,它有用 FMC外设代替了 FSMC外设的功能,所以它的库文件与其它型号的芯片不一样,在添加外设文件时,stm32f4xx_fmc.c 和 stm32f4xx_fsmc.c文件只能存在一个,而且我们的 STM32F429芯片必须用 fmc 文件。如果我们把外设库的所有文件都添加进工程,也可以使用下面的方法,设置文件不加入编译,这样也不会导致编译问题。这种设置在开发时也很常用,暂时不把文件加进编译,方便调试。
添加完成后,接下来进行设置
这一步的配置工作很重要,很多人串口用不了 printf 函数,编译有问题,下载有问题,都是这个步骤的配置出了错。
(1) Target 中选中微库“ Use MicroLib”,为的是在日后编写串口驱动的时候可以使用printf函数。而且有些应用中如果用了 STM32的浮点运算单元 FPU,一定要同时开微库,不然有时会出现各种奇怪的现象。FPU 的开关选项在微库配置选项下方的“Use
Single Precision”中,默认是开的。
(2) 在 Output 选项卡中把输出文件夹定位到我们工程目录下的“output”文件夹,如果想在编译的过程中生成 hex文件,那么那 Create HEX File 选项勾上。
(3) 在 Listing选项卡中把输出文件夹定位到我们工程目录下的“Listing”文件夹。
(4) 在 C/C++选项卡中添加处理宏及编译器编译的时候查找的头文件路径。
在这个选项中添加宏,就相当于我们在文件中使用“#define”语句定义宏一样。在编译器中添加宏的好处就是,只要用了这个模版,就不用源文件中修改代码。
STM32F429_439xx 宏:为了告诉 STM32标准库,我们使用的芯片是 STM32F429型号,使 STM32标准库根据我们选定的芯片型号来配置。
USE_STDPERIPH_DRIVER 宏:为了让 stm32f4xx.h包含 stm32f4xx_conf.h 这个头文件。
“Include Paths ”这里添加的是头文件的路径,如果编译的时候提示说找不到头文件,一般就是这里配置出了问题。你把头文件放到了哪个文件夹,就把该文件夹添加到这里即可。(请使用图中的方法用文件浏览器去添加路径,不要直接手打路径,容易出错) 编译即可
举报
更多回帖
rotate(-90deg);
回复
相关问答
STM32
固件库
keil5
求
一种
基于openmv竞速小车的
设计方案
2022-03-01
2250
怎样去新建
一种
基于ST官方
固件
库
的
STM32
F407
工程
呢
2021-10-25
1070
求
一种
基于单片机的简易洗衣机系统仿真
设计方案
2022-01-17
1400
求
一种
基于
STM32
F407ZGT6的简易威廉希尔官方网站 特性测试仪
设计方案
2022-01-26
1425
求
一种
基于
STM32
F103C8T6的无线飞鼠
设计方案
2021-12-20
1575
求
一种
最简单的无线充电发射端
设计方案
2021-07-21
1750
求
一种
智能物品清点系统的
设计方案
2021-05-20
1472
求
一种
新型WCDMA直放站PA的
设计方案
2021-05-26
1388
求
一种
CO2144 10-100BaseT参考
设计方案
2021-05-25
1356
求
一种
数字式温度测量威廉希尔官方网站 的
设计方案
2021-05-17
2119
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分