发新帖本帖赏金 20.00元(功能说明)我要提问
12下一页
返回列表
打印
[开发工具]

手把手教你建立STM32项目工程

[复制链接]
3334|37
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
#申请原创# #有奖活动#[url=home.php?mod=space&uid=760190]@21小跑堂 [/url]
用了好长时间STM32,说来惭愧,一直没有自己动手建立过STM32的项目工程,今天有时间,来和大家分享一下如何建立STM32项目工程,以及在建立项目工程中遇到的问题。
第一步:
首先建立一个文件夹,起名为Template。
第二步:
template文件夹下建立以下文件夹:
APP:主要应用程序。
CORE:存放内核相关文件。
FWLIB:存放标准库的片内外设库。
OBJ:用来放置一些编译过程中生成的文件。
SYS:存放系统管理代码文件。
USER:存放MAIN函数。
一共六个子文件。
第三步:
1.打开Keil MDK5,点击菜单:project-> New uVision Project...
选择进入USER文件,输入工程文件名template,点击保存。
然后选择我们所示用的芯片类型,以STM32F407 ZGT6为例。
点击OK。
可能会弹出这个窗口,直接点X关掉即可。
点击这个品字形图标,弹出以下窗口
将Project targets 中的Target1改为Template。
在Group里面,点击这个小矩形框进行添加
              
添加以下五个文件名。
点击OK
然后点击魔术棒
点击OK,这样编译的文件就会放到OB文件目录下,这里文件就会很整洁。
第四步:
复制固件库文件到我们的项目工程中。
1.      将STM32F40x_StdPeriph_Lib_V3.5.0\Libraries\STM32F40x_StdPeriph_Driver下src,inc文件夹复制到工程目录中的FWLIB文件中。这个固件库大家可以去KEIL官网下载,我也会在下方提供给大家。
2. 将固件库包里的相关启动文件复制到工程文件目录core下:
    STM32F40x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport下的以下文件复制到我们项目工程的CORE文件下面。
然后复制一个工程中自带的delay、sys、usart文件到我们项目工程的SYS文件下面。
接下来复制其他工程USER下的4个选中的文件,到我们项目的USER中。
如下图所示
在KEIL MDK5中,点击新建文件
将文件命名为main.c,保存到USER目录下面。
在main文件中添加以下代码
#include "stm32f4xx.h"
int main(void)
{
    while(1)
    {
    }
}
再次打开品子图标的窗口
添加文件
将目录中的文件都添加到各自的文件目录下。
添加完之后,左边目录下面会有加号,右侧#include 文件报错,是因为我们没有添加文件路径,接下来我们添加文件路径
我们依次添加
添加完毕,点击确定。
然后点击编译,不出意外的话,肯定会报错的,果然是这样。
解决方式:
复制 STM32F40_41xxx 到
注意:后面是一个英文逗号!!!
再次编译,又出现了别的报错问题
解决方式:
复制USE_STDPERIPH_DRIVER
中间一定要用英文逗号隔开!!
我们再次编译,问题解决。
添加几个函数,再次编译
0错误0警告,这样,我们的工程就算是建立完成了。

使用特权

评论回复

打赏榜单

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

评论
lihui567 2021-12-30 21:34 回复TA
很详细 
沙发
两只袜子| | 2021-12-23 15:22 | 只看该作者
还不错,讲解很用心

使用特权

评论回复
板凳
Gavin3389| | 2021-12-27 09:16 | 只看该作者
我敢说,有一部分人,是一直用别人的工程的

使用特权

评论回复
地板
liaojihua2010| | 2021-12-27 10:17 | 只看该作者
这属于一劳永逸,基础打好了,后面可以把精力放在如何写好应用程序上。对于初学者更是入门之要!

使用特权

评论回复
5
cjseng| | 2021-12-27 13:11 | 只看该作者
Gavin3389 发表于 2021-12-27 09:16
我敢说,有一部分人,是一直用别人的工程的

难道你说的是我?
我一直是用开发板带的一个工程,每次在那个基础上ctrl+c、ctrl+v,然后增增减减,感觉略爽。

使用特权

评论回复
6
Gavin3389| | 2021-12-27 13:19 | 只看该作者
cjseng 发表于 2021-12-27 13:11
难道你说的是我?
我一直是用开发板带的一个工程,每次在那个基础上ctrl+c、ctrl+v,然后增增减减,感觉 ...

大部分人都这样,但是建立一个自己的工程,还是很好的

使用特权

评论回复
7
Kiwi2021| | 2021-12-30 14:51 | 只看该作者
大部分人都这样,但是建立一个自己的工程,还是很好的
更多操作

使用特权

评论回复
8
努力反击| | 2021-12-30 17:40 | 只看该作者

使用特权

评论回复
9
kkzz| | 2022-1-2 16:46 | 只看该作者
模板文件建立。  

使用特权

评论回复
10
hudi008| | 2022-1-2 16:47 | 只看该作者
网上也有许多的使用诸如VS,Eclipse软件  

使用特权

评论回复
11
lzmm| | 2022-1-2 16:47 | 只看该作者
为什么不是一键生成

使用特权

评论回复
12
minzisc| | 2022-1-2 16:47 | 只看该作者
建立一个空白工程,随时添加代码。  

使用特权

评论回复
13
selongli| | 2022-1-2 16:48 | 只看该作者
stm32工程搭建比较麻烦   

使用特权

评论回复
14
fentianyou| | 2022-1-2 16:48 | 只看该作者
建立好文件夹,文件夹中有相应的库函数和头文件  

使用特权

评论回复
15
xiaoyaodz| | 2022-1-2 16:49 | 只看该作者
使用MDK5.0建立STM32F103工程

使用特权

评论回复
16
febgxu| | 2022-1-2 16:49 | 只看该作者
用keil创建的stm32工程需要那些文件

使用特权

评论回复
17
sdlls| | 2022-1-2 16:49 | 只看该作者
如何更新固件库呢   

使用特权

评论回复
18
pixhw| | 2022-1-2 16:50 | 只看该作者
pack怎么安装的?  

使用特权

评论回复
19
fentianyou| | 2022-1-2 16:50 | 只看该作者
讲解的非常详细呢   

使用特权

评论回复
20
selongli| | 2022-1-2 16:50 | 只看该作者
ST公司的STM32固件库源码   

使用特权

评论回复
发新帖 本帖赏金 20.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

107

主题

534

帖子

5

粉丝