[其他ST产品] Keil5新建STM32工程模板

[复制链接]
1627|24
 楼主| 4c1l 发表于 2024-6-30 00:01 | 显示全部楼层 |阅读模式
学习逻辑
为了达到高效、快速的学习,在学习stm32时,制定的方法是阅读别人的代码,和动手练习代码实验为主。

如果纯看视频,一方面注意力达不到最高效,另一方面在实验测试时同样会遇到很多问题,卡主耽误时间。

所以制定的学习逻辑是:
1.确定想要完成的功能。2.根据功能搜索别人的代码,理解实现逻辑,以及代码具体意义。3.动手实验,完成功能。

实现学习过程辅助:搜索、代码片段理解、精准片段视频。

keil5新建工程模板
前言
此工程模板基于STM32F1系列,库函数的工程模板
先简单了解STM32的命令规则

1272866802fcd49d26.png

开发环境
keil5、固件器版本V3.5
库函数文件下载链接
提取码:cgcg

在桌面新建文件夹,可取名Template,作为工程的根目录。
在Template目录下新建子文件夹USER,新建子文件OBJ,新建子文件CORE,新建子文件夹STM32F10x_FWLIB
7411766802fe43a034.png


 楼主| 4c1l 发表于 2024-6-30 00:04 | 显示全部楼层
打开keil5软件,点击Project,选择第一个新建工程
79778668030606b98b.png

选择在桌面新建的Template文件,再选择USER子目录,给工程取名,可以叫Template,点击保存。
80226680306b76a27.png
 楼主| 4c1l 发表于 2024-6-30 00:04 | 显示全部楼层
在弹出的界面选择STM32F1的型号,这里我们选择STM32F103ZE
如果这里没有显示STM32F1的可选序列,需要到官网下载STM32F1系列的包进行安装。
1262066803078addda.png

在弹出的界面选择退出

9532466803083061ea.png
 楼主| 4c1l 发表于 2024-6-30 00:04 | 显示全部楼层
现在的文件目录下有keil自动生成的Listings和Objects文件,用来存放编译过程中产生的文件。
124936680308d94e9f.png
 楼主| 4c1l 发表于 2024-6-30 00:05 | 显示全部楼层
打开固件库文件夹STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver文件目录下,复制inc和src目录,到我们新建的Template文件夹STM32F10x_FWLIB目录下。
67931668030a84469f.png
42045668030ac03471.png
 楼主| 4c1l 发表于 2024-6-30 00:05 | 显示全部楼层
将固件库包里相关的启动文件复制到我们工程目录CORE下
将文件目录\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport下的两个文件复制到\Template\CORE下。
52027668030b5cd6a4.png
46466668030b93ec33.png
 楼主| 4c1l 发表于 2024-6-30 00:06 | 显示全部楼层
打开文件目录\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm,这个目录下方放的是STM32F10x系列的启动文件,根据容量来选择,大容量的hd,中等容量的md,小容量的ld,这里我们使用hd的,因为我们选择的芯片是STM32F103ZE,512K字节。

60419668030e509bff.png

复制选择的文件,到core目录下

62043668030ee3e929.png

 楼主| 4c1l 发表于 2024-6-30 00:07 | 显示全部楼层
选择\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x下的选中文件,复制到USER目录下

488266680311f7bd14.png

2330866803123c3aa3.png
 楼主| 4c1l 发表于 2024-6-30 00:07 | 显示全部楼层
选择\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template目录下的3个文件,复制到USER目录下。
201546680313b72fd6.png
33416680313e7835b.png
 楼主| 4c1l 发表于 2024-6-30 00:07 | 显示全部楼层
打开keil5,选中Target1右击,选择Manage Project Items

886926680315b3c38e.png
 楼主| 4c1l 发表于 2024-6-30 00:08 | 显示全部楼层
双击可以修改名称,这里修改Target1的名称为Template

6878166803166729bf.png
 楼主| 4c1l 发表于 2024-6-30 00:08 | 显示全部楼层
在Groups下也可以双击修改名称,我们修改名称成USER,同时点击上面的小方框可以添加新的Group,我们再添加CORE,FWLIB,点击OK保存。
509836680317b01171.png

85360668031771b432.png
 楼主| 4c1l 发表于 2024-6-30 00:08 | 显示全部楼层
右击一个USER,选择Manage Project Items,点击FWLIB,点击右下角添加文件,选择我们之前的目录\Template\STM32F10x_FWLIB\src下所有文件,ctrl+A 可以全部选中,点击add,最后点击close
609246680318656c41.png
558876680318f9086e.png
 楼主| 4c1l 发表于 2024-6-30 00:09 | 显示全部楼层
同样的方法,点击USER,点击add files,选择USER目录下的这两个文件,点击add,再点击close。
644116680319c76e70.png
 楼主| 4c1l 发表于 2024-6-30 00:09 | 显示全部楼层
最后点击CORE,点击add files,注意这里下拉我们选择所有类型的文件,最后将图片上选择的两个文件添加,别忘了点击add。

89768668031b3522cb.png

68572668031bb34674.png
 楼主| 4c1l 发表于 2024-6-30 00:09 | 显示全部楼层
添加完之后我们可以看到,这里的下拉菜单是有文件的
82686668031c977a07.png
 楼主| 4c1l 发表于 2024-6-30 00:10 | 显示全部楼层
点击小魔术棒,在Output下勾选Create HEX File文件,这个是我们后面会用到它仿真。
另外点击select Folder Objects,默认情况下是定义到Object的,这里我们定义到自己建的OBJ文件中。注意保存。
963668031d3839d5.png
39354668031d7d1145.png
 楼主| 4c1l 发表于 2024-6-30 00:10 | 显示全部楼层
再次点击魔术棒,在下面的include paths框后面,点击… 选择文件,右上角小方框添加文件路径,分别是我们Template目录下的USER,CORE,还有STM32F10x_FWLIB下的inc目录。点击OK。

46860668031e330e21.png

57498668031e7267c0.png
 楼主| 4c1l 发表于 2024-6-30 00:10 | 显示全部楼层
配置一个全局的宏定义变量,还是小魔术棒里,将STM32F10X_HD,USE_STDPERIPH_DRIVER写在Define中,注意中间的是英文状态的逗号,点击保存。
8132668031f060510.png
 楼主| 4c1l 发表于 2024-6-30 00:10 | 显示全部楼层
点击USER,右击添加main.c文件

69697668031fa8f89e.png
82275668031ff88281.png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

65

主题

703

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部