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

【经验分享】STM32F4—初次搭建工程

[复制链接]
STMCU小助手 发布时间:2021-12-7 11:00
程序小白的我从安装mdk5.14搭建平台到更新至V5.25搭建平台,并配置相关参数,发现了一些问题,并查看一些博友的文章最终得以解决,以供以后如有类似情况可以查看解决。) K8 w; a6 H: Q4 U3 d: C
. l* u" j+ d5 a+ a5 ?7 A, l. K
        如图所示,建立相关文件夹。打开MDK,Project->New uVision Project
  h6 ?4 ~7 f* h; k4 h" [  l  b/ p) g  w8 E( G5 _
20180515163615611.png
, O/ Y# W, Z: U8 g! \9 }
  j) t2 L1 t# f# M, m4 i
20180515163725883.png

2 ?" ?0 b4 B9 O* A3 T1 X( Y6 g# }% D; B* U2 U+ o  K
% C; }. G7 M% i- l
            此处注意的是需要选择相应的芯片,我们选择的是STM32F407ZGT6,一定要安装相应的pack安装包才可以建立工程文件。    接着,我们添加相应的启动代码(startup_stm32f40_41xxx.s)。1 n$ v( N/ x/ h& h8 t2 ]

6 s( I7 P3 [# \4 A) l        启动代码的主要作用如下:   
/ }5 f2 f6 P4 {: S, G) ^$ }
- U: c# e( l6 I% I            1.堆栈(SP)的初始化;! a: J9 O" b# c% k3 x5 ]
: E0 J/ a5 o1 [; [
            2.初始化程序计算器(PC);; N: `0 a/ G& O3 B. J$ V
9 s& F& h- t; Y  ]
            3.设置向量表异常事件的入口地址;% R9 g9 L0 L& r1 b$ W3 a6 s$ `) L

6 d( U+ y5 _3 ~# ^1 j- A            4.调用main函数。% }, O8 n: ]! B

  I; K/ a+ p$ j        其中我们修改了启动文件的Reset_handler函数,该段代码主要加入了开启STM32F4硬件FPU的代码,以使能STM32F4的浮点运算单元。0 n  F0 h9 S$ n' s( p, J0 r) v

8 B$ Q5 h  n; K4 R" U6 \! \        其中的0xE000ED88为协处理器控制寄存器(CPACR)的地址,该寄存器的第20~23位用来控制是否支持浮点运算,此处全部设置为1,以支持浮点运算。
$ M* Z; ~( Y8 M2 c
# D0 H* U: G* ?& F# h, Z        mdk的target Code Generation 选用Use FPU    (V5.25 版本显示为 Single Precision)   。(mdk默认STM32F4外部晶振为12M,此处Xtal(Mhz)设置为8.0M)
* f4 `& ?2 \$ Z  x, b' D0 Z5 E+ h5 y' x+ b' i$ q6 Z
        然后在Target目录树打开Manage Project Items进行目录创建和文件添加。, n4 O& j% w. Y# `3 |# I/ N

; _; y5 h3 q& j4 c3 i" I& P! ?       接着就是设置OBJ输出目录,将生成的hex文件放置在OBJ目录里。Options for Target->Output->Create Hex File->Select Folder For Objects->找到OBJ文件夹->OK
- K' J9 v: q6 [% H7 v, k" F, d5 G8 z$ b6 e
        头文件相关处理在Options for Target->C/C++选项中
* x6 o: ?8 I8 D6 o% l, b
( s: M2 V, b) I# S7 f2 ]: W4 O4 x        Define  :  STM32F40_41xxx3 M6 X2 G9 d6 I3 W+ k% p5 y- e

; N- `7 q' ]& ^. u, o3 k) M        Optimization :    -O0   
0 N) Y. M% S. n+ ~8 X! R' h1 T2 X, e5 g
        Inlcude  Paths   添加相应的头文件路径! i8 U2 r8 L7 s! Y" z7 B8 Q

% v& }! ^) f" L7 Z5 e        Jlink相关驱动建议调用以往支持的Segger目录。7 g4 W1 q1 _5 _' Z$ {% ~1 m

3 R  {9 p& g* Y8 k# f8 C( n- X$ P+ R- `/ E
. e+ H6 Q- w1 c' {2 g& n3 I* C
收藏 评论0 发布时间:2021-12-7 11:00

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版