stm32新建工程模板

本文详细介绍了如何从零开始创建一个STM32工程模板,包括新建工程文件夹、选择芯片型号、添加启动文件、组织文件目录、配置工程、添加库文件、设置编译路径、解决编译错误以及修改main.c内容。通过这个模板,开发者可以快速搭建STM32开发环境,提高工作效率。
摘要由CSDN通过智能技术生成

新建工程

1、在桌面新建一个文件夹,用于存放工程模板

在这里插入图片描述
2、打开keil软件,点击菜单:Project –>New Uvision Project ,然后将目录定位到刚才建立的文件夹00MyPro之下,在这个目录下面建立子文件夹 USER 定位到 USER 目录下面,我们的工程文件就都保存到 USER 文件夹下面。工程命名为Template,点击保存。

在这里插入图片描述
在这里插入图片描述
3、接下来出现选择 CPU 的界面,就是选择我们的芯片型号。因为我使用的stm32型号为ALIENTEK miniSTM32F103 的 STM32F103RTC6,所以我们选STMicroelectronics→STM32F1Series→STM32F103→STM32F103RCT6(如果使用的是其他系列的芯片,选择相应的型号就可以了) 特别注意:一定要安装对应的器件 pack 才会显示这些内容。 点击OK后,会出现一个弹窗,我们可以直接点击 Cancel。(这个弹窗是 keil 新增的一个功能,在这个界面,我们可以添加自己需要的组件,从而方便构建开发环境,不过这里我们不做介绍。)

在这里插入图片描述
在这里插入图片描述
4、现在工程文件里USER中有4个项目,接下来我们需要添加启动文件。

在这里插入图片描述

创建启动文件按需要的目录

5、接下来,我们在 00MyPro工程目录下面,新建 3 个文件夹 CORE、OBJ 、STM32F10x_FWLib。
CORE 用来存放核心文件和启动文件。
OBJ 是用来存放编译过程文件以及hex 文件。
STM32F10x_FWLib 文件夹用来存放 ST 官方提供的库函数源码文件。
USER 目录除了用来放工程文件外,还用来存放主函数文件 main.c,以及其他包括system_stm32f10x.c 等等。

在这里插入图片描述

复制相对应的文件到对应的目录

6、下面我们将官方的固件库包里的源码文件复制到我们的工程目录文件夹下面。打开STM32F10x_StdPeriph_Lib_V3.5.0文件里面有5个项目。我们不妨将STM32F10x_StdPeriph_Lib_V3.5.0文件复制到00MyPro文件下。
如果没有官方的固件库包,可以点击此链接下载:
stm32官方的固件库包

在这里插入图片描述
在这里插入图片描述

7、复制文件到STM32F10x_FWLib 文件夹下面。
定位目录到Libraries\STM32F10x_StdPeriph_Driver目录,将目录下面的 src,inc 文件夹复制到建立的 STM32F10x_FWLib 文件夹下面。src 存放的是固件库的.c 文件,inc 存放的是对应的.h 文件。

在这里插入图片描述
在这里插入图片描述
8、复制文件到CORE目录下。
①定位到目录Libraries\CMSIS\CM3\CoreSupport 下面,将文件 core_cm3.c和文件 core_cm3.h 复制到 CORE 文件里 。
②定 位 到 目 录Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\a
rm 下面,将里面 startup_stm32f10x_hd.s 文件复制到CORE里。
不同容量的芯片使用不同的启动文件,我们的芯片 STM32F103RCT6 是大容量芯片,所以选择startup_stm32f10x_hd.s 文件。(不同的芯片要选择不同的启动文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
9、复制文件到USER文件夹下面。
①定位目录到Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x 下面将里面的三个文件 stm32f10x.h、system_stm32f10x.c、system_stm32f10x.h,复制到USER目录里。
②定位目录到Project\STM32F10x_StdPeriph_Template 下面的 4 个文 件main.c,stm32f10x_conf.h,stm32f10x_it.c,stm32f10x_it.h 复制到 USER 目录里。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

将文件添加到工程

10、现在我们将把这些文件加入我们的工程中去。右键点击 Target1,选择 Manage Project Items。

在这里插入图片描述
11、在Project Targets 一栏,我们将 Target 名字修改为00MyPro,然后在 Groups 一栏删掉一个 SourceGroup1,建立三个 Groups,分别为USER,CORE,FWLIB。然后点击 OK。(鼠标左键双击即可修改名字,点击方框和叉叉即可添加和删除)

在这里插入图片描述
在这里插入图片描述

向工程中添加.c文件

12、向 Group 里面添加我们需要的文件。按照步骤 10 的方法,打开 Manage Project Itmes,然后选择需要添加文件的 Group,
①向FWLIB添加文件:点击右边的 Add Files,定位到我们刚才建立的目录 STM32F10x_FWLib/src下面,将里面所有的文件选中(Ctrl+A),然后点击 Add,然后 Close.可以看到 Files 列表下面包含我们添加的文件。

在这里插入图片描述

②向CORE添加文件:CORE 下面需要添加的文件为 core_cm3.c,startup_stm32f10x_hd.s (注意:默认添加的
时候文件类型为.c,添加 startup_stm32f10x_hd.s 启动文件的时候,你需要选择文件类型为 All files 才能看得到这个文件),注意:不添加.h文件

在这里插入图片描述

③向USER添加文件:USER目录下需要添加的文件为 main.c,stm32f10x_it.c、system_stm32f10x.c.
这样我们需要添加的文件已经添加到我们的工程中了,最后点击 OK,回到工程主界面。

在这里插入图片描述
在这里插入图片描述
13、编译工程,在编译之前我们首先要选择编译中间文件编译后存放目录。方法是点击魔术棒,然后选择“Output”选项下面的“Select folder for objects…”,然后选择目录为我们上面新建的 OBJ 目录。注意,如果我们不设置 Output 路径,那么默认的编译中间文件存放目录就是 keil自动生成的 Objects 目录和 Listings 目录。 第三步勾上是用来编译时产生hex文件的。
在这里插入图片描述
14) 下面我们点击编译按钮编译工程,可以看到很多报错,原因为找不到头文件(.h文件)。

在这里插入图片描述

添加环境变量以及全局的宏定义变量

15、 添加头文件目录:回到工程主菜单,点击魔术棒 ,出来菜单,点击 c/c++选项.然后点击Include Paths 右边的按钮。弹出一个添加 path 的对话框,将3 个目录中含有 .h 文件添加进去。记住,keil 只会在一级目录查找,所以如果你的目录下面还有子目录,记得 path一定要定位到最后一级子目录。然后点击 OK。
注意,对于任何一个工程,我们都需要把工程中引用到的所有头文件的路径都包含到进来。

在这里插入图片描述
16、再次编译工程,可以看到又报了很多同样的错误。原因为3.5 版本的库函数在配置和选择外设的时候通过宏定义来选择的,所以我们需要配置一个全局的宏定义变量。按照步骤15,定位到 c/c++界面,然后填写
“STM32F10X_HD,USE_STDPERIPH_DRIVER”到 Define 输入框里面(注意:两个标识符中间是逗号不是句号)。如果你用的是中容量那么STM32F10X_HD 修改为 STM32F10X_MD,小容量修改为STM32F10X_LD. 然后点击 OK。

在这里插入图片描述

修改main.c函数的内容

17、在编译之前,我们打开工程USER下面的 main.c 文件,复制下面代码到 main.c覆盖已有代码,然后进行编译。(记得在代码的最后面加上一个回车,否则会有警告),可以看到,这次编译已经成功了。

#include "stm32f10x.h"

int main()
{
	return 0;
}

在这里插入图片描述

现在工程模板已经建立成功。当要进行编写程序时,只需要将此模板进行复制粘贴并改名即可,在新的工程里面编写程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

牧锦程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值