12下一页
返回列表 发新帖我要提问本帖赏金: 20.00元(功能说明)

[开发工具] 手把手教你建立STM32项目工程

[复制链接]
4596|37
 楼主| woai32lala 发表于 2021-12-22 22:31 | 显示全部楼层 |阅读模式
#申请原创# #有奖活动#[url=home.php?mod=space&uid=760190]@21小跑堂 [/url]
用了好长时间STM32,说来惭愧,一直没有自己动手建立过STM32的项目工程,今天有时间,来和大家分享一下如何建立STM32项目工程,以及在建立项目工程中遇到的问题。
第一步:
首先建立一个文件夹,起名为Template。
5798361c33562279e0.png
第二步:
template文件夹下建立以下文件夹:
APP:主要应用程序。
CORE:存放内核相关文件。
FWLIB:存放标准库的片内外设库。
OBJ:用来放置一些编译过程中生成的文件。
SYS:存放系统管理代码文件。
USER:存放MAIN函数。
一共六个子文件。
第三步:
1.打开Keil MDK5,点击菜单:project-> New uVision Project...
选择进入USER文件,输入工程文件名template,点击保存。
3776161c3356e75362.png
2156861c33576000ec.png
然后选择我们所示用的芯片类型,以STM32F407 ZGT6为例。
2926661c3357bcfeba.png
点击OK。
可能会弹出这个窗口,直接点X关掉即可。
2182461c33582bd8e9.png
点击这个品字形图标,弹出以下窗口
8613961c335893ed2b.png
将Project targets 中的Target1改为Template。
6512261c3358eb9fe9.png
在Group里面,点击这个小矩形框进行添加
3815461c33593ab32b.png
              
添加以下五个文件名。
3108061c3359a5390c.png
点击OK
然后点击魔术棒
6043261c335a1ab769.png
点击OK,这样编译的文件就会放到OB文件目录下,这里文件就会很整洁。
1144561c335a97a52e.png
第四步:
复制固件库文件到我们的项目工程中。
1.      将STM32F40x_StdPeriph_Lib_V3.5.0\Libraries\STM32F40x_StdPeriph_Driver下src,inc文件夹复制到工程目录中的FWLIB文件中。这个固件库大家可以去KEIL官网下载,我也会在下方提供给大家。
7093161c335b0184ef.png
2. 将固件库包里的相关启动文件复制到工程文件目录core下:
    STM32F40x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport下的以下文件复制到我们项目工程的CORE文件下面。
7989061c335c578d74.png 2236461c335cda6493.png
然后复制一个工程中自带的delay、sys、usart文件到我们项目工程的SYS文件下面。
5646861c335d6ecf68.png
5428961c335dcc4b21.png
接下来复制其他工程USER下的4个选中的文件,到我们项目的USER中。
7993861c335e1de191.png
如下图所示
6708161c335e784e9e.png
在KEIL MDK5中,点击新建文件
8902761c335edca97c.png
将文件命名为main.c,保存到USER目录下面。
在main文件中添加以下代码
#include "stm32f4xx.h"
int main(void)
{
    while(1)
    {
    }
}
6572661c335f624c6d.png
再次打开品子图标的窗口
添加文件
617361c335fc213f7.png
将目录中的文件都添加到各自的文件目录下。
9177061c33602196d7.png
8918161c3360929db7.png
4301961c3360fb3e38.png
添加完之后,左边目录下面会有加号,右侧#include 文件报错,是因为我们没有添加文件路径,接下来我们添加文件路径
786561c33615eea03.png
我们依次添加
4004061c3361c4da9e.png
3383461c33622419cd.png
添加完毕,点击确定。
9047761c3362a1b5af.png
然后点击编译,不出意外的话,肯定会报错的,果然是这样。
2319861c3362e26064.png
解决方式:
8035461c336342056b.png
复制 STM32F40_41xxx 到
7931761c3363a3995f.png
注意:后面是一个英文逗号!!!
再次编译,又出现了别的报错问题
6399661c33640390f8.png
解决方式:
6558161c336475e67c.png
复制USE_STDPERIPH_DRIVER
2342761c3364c380ef.png
中间一定要用英文逗号隔开!!
我们再次编译,问题解决。
2375261c3365372952.png
添加几个函数,再次编译
9144261c3365a2849a.png
7123261c3365f479a8.png
0错误0警告,这样,我们的工程就算是建立完成了。

打赏榜单

21小跑堂 打赏了 20.00 元 2021-12-23
理由:恭喜通过原创文章审核!请多多加油哦!

评论

很详细  发表于 2021-12-30 21:34
两只袜子 发表于 2021-12-23 15:22 来自手机 | 显示全部楼层
还不错,讲解很用心
Gavin3389 发表于 2021-12-27 09:16 | 显示全部楼层
我敢说,有一部分人,是一直用别人的工程的
liaojihua2010 发表于 2021-12-27 10:17 | 显示全部楼层
这属于一劳永逸,基础打好了,后面可以把精力放在如何写好应用程序上。对于初学者更是入门之要!
cjseng 发表于 2021-12-27 13:11 | 显示全部楼层
Gavin3389 发表于 2021-12-27 09:16
我敢说,有一部分人,是一直用别人的工程的

难道你说的是我?
我一直是用开发板带的一个工程,每次在那个基础上ctrl+c、ctrl+v,然后增增减减,感觉略爽。
Gavin3389 发表于 2021-12-27 13:19 | 显示全部楼层
cjseng 发表于 2021-12-27 13:11
难道你说的是我?
我一直是用开发板带的一个工程,每次在那个基础上ctrl+c、ctrl+v,然后增增减减,感觉 ...

大部分人都这样,但是建立一个自己的工程,还是很好的
Kiwi2021 发表于 2021-12-30 14:51 | 显示全部楼层
大部分人都这样,但是建立一个自己的工程,还是很好的
更多操作
努力反击 发表于 2021-12-30 17:40 | 显示全部楼层
kkzz 发表于 2022-1-2 16:46 | 显示全部楼层
模板文件建立。  
hudi008 发表于 2022-1-2 16:47 | 显示全部楼层
网上也有许多的使用诸如VS,Eclipse软件  
lzmm 发表于 2022-1-2 16:47 | 显示全部楼层
为什么不是一键生成
minzisc 发表于 2022-1-2 16:47 | 显示全部楼层
建立一个空白工程,随时添加代码。  
selongli 发表于 2022-1-2 16:48 | 显示全部楼层
stm32工程搭建比较麻烦   
fentianyou 发表于 2022-1-2 16:48 | 显示全部楼层
建立好文件夹,文件夹中有相应的库函数和头文件  
xiaoyaodz 发表于 2022-1-2 16:49 | 显示全部楼层
使用MDK5.0建立STM32F103工程
febgxu 发表于 2022-1-2 16:49 | 显示全部楼层
用keil创建的stm32工程需要那些文件
sdlls 发表于 2022-1-2 16:49 | 显示全部楼层
如何更新固件库呢   
pixhw 发表于 2022-1-2 16:50 | 显示全部楼层
pack怎么安装的?  
fentianyou 发表于 2022-1-2 16:50 | 显示全部楼层
讲解的非常详细呢   
selongli 发表于 2022-1-2 16:50 | 显示全部楼层
ST公司的STM32固件库源码   
您需要登录后才可以回帖 登录 | 注册

本版积分规则

108

主题

559

帖子

6

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