新建STM32F4工程模板的步骤

1、在C盘(或D、E等盘,自己随便找个位置)新建文件夹,命名为“Template”;

2、在新建好的Template文件夹中再新建五个子文件夹:(1)CORE;(2)FWLIB;(3)OBJ;(4)SYSTEM;(5)USER;

3、打开Keil软件,新建一个工程,并保存在新建的Template/USER文件夹中,也命名为“Template”;

4、在Keil软件中新建子文件夹

在建好的Template工程中,有Target1/Source Group1。单击鼠标右键,点击“Manage Project items”,打开管理工程事项的界面。在第二列中把Source Group1删掉,并在Target1下新建子文件夹:CORE、FWLIB、SYSTEM、USER;

5、拷贝固件库中的文件到自建的文件夹中

(1)FWLIB:拷贝STM32F4芯片片上外设的库函数。

将“Libraries/STM32F4xx_StdPeriph_Driver”中的inc和src两个文件夹全部复制进来;

(2)CORE:存放启动文件

① 在“Libraries/CMSIS/Device/ST/STM32F4xx/Source/Template/arm”文件夹中,找到与自己所用STM32芯片一致的启动文件,如STM32F407的启动文件便为:startup_stm32f40_41xxx.s(或:startup_stm32f40xx.s);

② 在“Libraries/CMSIS/Include”文件夹中,将core_cm4.h、core_cm4_simd.h、core_cmFunc.h、core_cmInstr.h这4个文件全部拷贝到CORE文件夹中;

(3)USER

① 在“Libraries/CMSIS/Device/ST/STM32F4xx/Include”文件夹中,将stm32f4xx.h、system_stm32f4xx.h拷贝进去;

② 在“Project/STM32F4xx/StdPeriph/Template”文件夹中,将main.c、stm32f4xx_conf.g、stm32f4xx_it.c、stm32f4xx_it.h、system_stm32f4xx.c拷贝进去;

6、在Keil的新建工程Template中添加文件

鼠标放在Target1上,单击鼠标右键,选择“Manage Project items”,在弹出的界面的第三列“Files”中,点击Add Files进行添加文件;注意:

(1)此时只需要将FWLIB、CORE、USER中的.c文件、.s文件添加进去,无需添加.h文件;

(2)注意FWLIB/src中的文件需要根据项目的要求,有选择性的进行添加对应的.c文件,如果弄不清楚也可以全部添加进去。

7、添加头文件(.h文件)的路径及添加全局定义

(1)点击魔术棒,选择“C/C++”栏,在“Include Paths”中添加3个文件路径:① 在第2步建的USER文件夹;② 在第2步建的CORE文件夹;③ 在第2步建的FWLIB/inc文件夹(注意不是FWLIB文件夹,而是其中的inc文件夹);

(2)在“Define”栏中写入“STM32F40_41xxx,USE_STDPERIPH_DRIVER”,注意两个宏之间用英文逗号隔开。

8、选择编译输出文件的保存路径

输出文件默认保存在USER的Objects文件夹中,在魔术棒-Output栏中,将其改为第2步新建的OBJ文件夹,同时还要勾选“Create HEX File”。

9、将main.c中的内容用与自己项目适用的代码替代。

10、将USER文件夹中的stm32f4xx_it.c文件中的内容清空,或者删掉其中的32行对main.h头文件的引入(#inclulde “main.h”),以及144行sysTick_Handler函数的内容;

11、配置系统时钟

(1)在USER文件夹中的system_stm32f4xx.c文件中,将316行:#define PLL_M 25改为#define PLL_M 8;

(2)在文件stm32f4xx.h中,将123行:#define HSE_VALUE ((uint32_t) 25000000) 更改为:#define HSE_VALUE ((uint32_t) 8000000)。

注意:第11步将外部晶振的频率由25MHz改为了8MHz,应该根据自己板子上实际的外部晶振频率进行修改。

12、点击编译,查看有无bug。

至此,一个工程模板便创建好了,只需要在main中编写项目代码即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值