打印
[其他ST产品]

Keil5新建STM32工程模板

[复制链接]
347|24
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
4c1l|  楼主 | 2024-6-30 00:01 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
学习逻辑
为了达到高效、快速的学习,在学习stm32时,制定的方法是阅读别人的代码,和动手练习代码实验为主。

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

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

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

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



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

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



使用特权

评论回复
沙发
4c1l|  楼主 | 2024-6-30 00:04 | 只看该作者
打开keil5软件,点击Project,选择第一个新建工程


选择在桌面新建的Template文件,再选择USER子目录,给工程取名,可以叫Template,点击保存。

使用特权

评论回复
板凳
4c1l|  楼主 | 2024-6-30 00:04 | 只看该作者
在弹出的界面选择STM32F1的型号,这里我们选择STM32F103ZE
如果这里没有显示STM32F1的可选序列,需要到官网下载STM32F1系列的包进行安装。


在弹出的界面选择退出

使用特权

评论回复
地板
4c1l|  楼主 | 2024-6-30 00:04 | 只看该作者
现在的文件目录下有keil自动生成的Listings和Objects文件,用来存放编译过程中产生的文件。

使用特权

评论回复
5
4c1l|  楼主 | 2024-6-30 00:05 | 只看该作者
打开固件库文件夹STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver文件目录下,复制inc和src目录,到我们新建的Template文件夹STM32F10x_FWLIB目录下。

使用特权

评论回复
6
4c1l|  楼主 | 2024-6-30 00:05 | 只看该作者
将固件库包里相关的启动文件复制到我们工程目录CORE下
将文件目录\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport下的两个文件复制到\Template\CORE下。

使用特权

评论回复
7
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字节。



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



使用特权

评论回复
8
4c1l|  楼主 | 2024-6-30 00:07 | 只看该作者
选择\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x下的选中文件,复制到USER目录下



使用特权

评论回复
9
4c1l|  楼主 | 2024-6-30 00:07 | 只看该作者
选择\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template目录下的3个文件,复制到USER目录下。

使用特权

评论回复
10
4c1l|  楼主 | 2024-6-30 00:07 | 只看该作者
打开keil5,选中Target1右击,选择Manage Project Items

使用特权

评论回复
11
4c1l|  楼主 | 2024-6-30 00:08 | 只看该作者
双击可以修改名称,这里修改Target1的名称为Template

使用特权

评论回复
12
4c1l|  楼主 | 2024-6-30 00:08 | 只看该作者
在Groups下也可以双击修改名称,我们修改名称成USER,同时点击上面的小方框可以添加新的Group,我们再添加CORE,FWLIB,点击OK保存。


使用特权

评论回复
13
4c1l|  楼主 | 2024-6-30 00:08 | 只看该作者
右击一个USER,选择Manage Project Items,点击FWLIB,点击右下角添加文件,选择我们之前的目录\Template\STM32F10x_FWLIB\src下所有文件,ctrl+A 可以全部选中,点击add,最后点击close

使用特权

评论回复
14
4c1l|  楼主 | 2024-6-30 00:09 | 只看该作者
同样的方法,点击USER,点击add files,选择USER目录下的这两个文件,点击add,再点击close。

使用特权

评论回复
15
4c1l|  楼主 | 2024-6-30 00:09 | 只看该作者
最后点击CORE,点击add files,注意这里下拉我们选择所有类型的文件,最后将图片上选择的两个文件添加,别忘了点击add。



使用特权

评论回复
16
4c1l|  楼主 | 2024-6-30 00:09 | 只看该作者
添加完之后我们可以看到,这里的下拉菜单是有文件的

使用特权

评论回复
17
4c1l|  楼主 | 2024-6-30 00:10 | 只看该作者
点击小魔术棒,在Output下勾选Create HEX File文件,这个是我们后面会用到它仿真。
另外点击select Folder Objects,默认情况下是定义到Object的,这里我们定义到自己建的OBJ文件中。注意保存。

使用特权

评论回复
18
4c1l|  楼主 | 2024-6-30 00:10 | 只看该作者
再次点击魔术棒,在下面的include paths框后面,点击… 选择文件,右上角小方框添加文件路径,分别是我们Template目录下的USER,CORE,还有STM32F10x_FWLIB下的inc目录。点击OK。



使用特权

评论回复
19
4c1l|  楼主 | 2024-6-30 00:10 | 只看该作者
配置一个全局的宏定义变量,还是小魔术棒里,将STM32F10X_HD,USE_STDPERIPH_DRIVER写在Define中,注意中间的是英文状态的逗号,点击保存。

使用特权

评论回复
20
4c1l|  楼主 | 2024-6-30 00:10 | 只看该作者
点击USER,右击添加main.c文件


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

52

主题

563

帖子

2

粉丝