你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

如何用MDK从零开始创建STM32F2xx工程(图文教程)

[复制链接]
STMCU小助手 发布时间:2021-12-1 21:39
第一步:下载标准外设固件库。

打到STM32F2xx Standard Peripherals library,目前最新的版本是V1.1.0,但建议下V1.0.0版本的,因为官网最新版本V1.1.0版本缺少cm3.c文件。

建议用迅雷下载,因为用浏览器下载的话下载到99%的时候就会停止,用迅雷下载就可以下载完。

下载完后解压,如下图:

& V$ z$ u" B/ f) y3 f+ H) o5 b

1354154897_3549.jpg


$ j/ a# s3 |' W6 @& J0 e) C

图1

--STM32F2xx_StdPeriph_Lib_V1.0.0

|--_htmresc# |- P0 `; S$ ~: j; Y2 x
|--Libraries8 z+ d3 T4 P8 w, v
|--CMSIS. r9 o/ s+ @7 p. h
|--STM32F2xx_StdPeriph_Driver

|--Project: O% L  w1 e: s+ _: v# J
|--Utilities

|--Release_Notes.html

|--stm32f2xx_stdperiph_lib_um.chm

|--stm32f2xx_stdperiph_lib_um.chw
4 O0 J  W% m" [) P) a. f

第二步:整理工程目录

在你电脑任何地方新建一目录,如APP,然后在APP目录下新建Project和User两目录。

接下来将之前下载并解压出来的标准外设固件库下的Libaries目录拷贝到APP目录下。

然后在Project目录下新建Obj和List两目录。

最后从之前解压的文件中选择一模板源文件复制到User目录下,这里举例为将.\STM32F2xx_StdPeriph_Lib_V1.0.0\Project\STM32F2xx_StdPeriph_Examples\GPIO

目录下的源文件代码复制到Usr目录下。
# Q9 b/ E+ N! J

准备好这些后就可以进行下一步了。

下图显示APP的目录:


3 @% [5 O$ u  [/ \" w: f! g; \

1354155232_6543.png


, R* S8 O& Q: I8 l+ U5 v1 C3 b" w8 m

: ^9 n# q: s5 r0 G9 f  ^- {4 D3 c1 F

图2: G$ s0 P1 D$ y" w/ {" f  O

第三步:创建MDK工程

打开MDK,点击Project->New uVision Project...,然后弹出一对话框,要你选择工程目录,这里选择到APP/Project,并且将工程取名为Demo,如下图:

$ C  G, t3 p" B. @0 G, e

1354155389_7667.png


& o) u8 D. n) f( q* C

图3

点击Save后将弹出一对话框,选择MCU类型,这里从STMicroeletronics下选择STM32F207VC,如下图:

$ b, z2 T6 O6 c: E, t8 P: B* S* ^. d

1354155876_5431.png


4 A- T1 O; s6 `  K/ g6 A: D! l2 J

图4

单击OK后弹出一对话框,选择是否让MDK自动生成启动文件startup_stm32f2xx.s到工程,这里因为之前的目前下已有启动文件,因此这里选否。
% N! N$ j% j! d5 J

第四步:添加工程文件

首先将工程将改名为Demo,然后再点击工具栏上的Manage Conponents...按键,如下图红色圈上的部分:

' h0 f% f, _( o3 [  N  L

1354156487_1199.png

0 p$ P& U' p8 g5 A

图5

打开如下界面:


3 ?: E  }5 ]: M2 A" O/ k1 g) F

1354156574_4988.png


/ X4 C) }1 @  i: F  ^4 U3 o* e

图6

接下来就是为工程添加组和源文件了,首先添加四个组:Lib,User,CMSIS,StartUp.

然后为各个组添加源文件:

Lib->添加APP\Libraries\STM32F2xx_StdPeriph_Driver\src下所有源文件,当然后也可以根据需要只选择部分文件。

User->添加APP\User目录下所有源文件,但system_stm32f2xx.c除外,因为此文件在接下来的CMSIS组中将会添加到。

CMSIS->添加APP\Libraries\CMSIS\CM3\CoreSupport目录下的core_cm3.c文件

添加APP\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F2xx目录下的system_stm32f2xx.c文件。

StartUp->添加APP\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F2xx\startup\arm目录下的startup_stm32f2xx.s文件.

这样一来就添加完所有文件了.
: ]% s* f/ d/ r- C) e6 I, F

第五步:添加头文件

点击工具栏上的Target Options..按钮,如下图红色圈上的部分:


( `/ _) L% a5 y! `. H$ P) z

1354157109_5564.png


/ ?- N" ~# Y& [5 ]) c

图7

弹出如下对话框,选择C/C++选项卡,在Preprocess Symbols下的Define:栏中加入USE_STDPERIPH_DRIVER宏,在Include Paths下添加包含路径,如下图:

注:宏USE_STDPERIPH_DRIVER在头文件stm32f2xx.h中可以找到,它的含义是打开标准外设固件库,当然后也可以在stm32f2xx.h修改使此宏打开,但不推荐这么做.
  h% y* Y8 X. U

4 [8 M0 T* G6 h; R7 g

1354157279_5790.png

( |* a# _3 P+ G; _, E

图8

其中包含路径都是头文件所有目录,如下图:

8 [) h7 S  q0 W8 {; p

1354157441_3761.png

8 f1 p: s. T0 g7 \4 b. |

图9

然后设置输出目录与列表清单目录.

在Output选项卡下点击Select Folder for Objects..按扭,然后选择APP\Project\Obj目录做为输出目录.

在Listing选项卡下点击Select Folder for Listings...按扭,然后选择APP\Project\List目录做为列表清单目录.

到此时,所有工程设置基本设置完毕,接下来就是编译烧录了.

第六步:编译工程

点击编译,发现有错误,在main.c文件中注释掉#include "stm32_eval.h"就可以了.

  1. //#include "stm32_eval.h"
复制代码
/ y$ h, {1 ^! Q' K! t
然后可以编译通过.
1 {  J/ S( ~0 [2 `4 b/ d8 R) {) o2 Y* |* c1 P

完毕!* H$ w' ?& f0 x% x. q0 }- A, n# s+ ?  z


/ ?% v7 {' Q) R- b# _4 t9 F* N3 j

2 J& _, c% ^1 l* |
收藏 评论0 发布时间:2021-12-1 21:39

举报

0个回答

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版