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

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

[复制链接]
STMCU小助手 发布时间:2021-12-7 11:00
程序小白的我从安装mdk5.14搭建平台到更新至V5.25搭建平台,并配置相关参数,发现了一些问题,并查看一些博友的文章最终得以解决,以供以后如有类似情况可以查看解决。' U. R  `: Z) w

8 s" ]& y; Q  [9 r4 k        如图所示,建立相关文件夹。打开MDK,Project->New uVision Project' L! Z: P; ?9 ]7 s0 T) Q; ]' h
8 S# f3 f7 `' e3 m/ J
20180515163615611.png

: F- \. [& B& R8 `4 l1 m4 {
5 w8 `7 v( ?% H$ _6 Z
20180515163725883.png

8 \+ m9 v5 \0 y, l8 H: g5 U4 K+ w
- G) b$ q; X9 G. Q% ^6 S- `, v, n" U3 P. q/ P& S
            此处注意的是需要选择相应的芯片,我们选择的是STM32F407ZGT6,一定要安装相应的pack安装包才可以建立工程文件。    接着,我们添加相应的启动代码(startup_stm32f40_41xxx.s)。
( X5 M. f4 Z3 O! q1 Y- b6 o! X: D% K9 o! d8 n; }7 V4 r6 K
        启动代码的主要作用如下:    # u8 j0 {( P) Z) ]- A1 `7 j' Z
: |  M' Q0 `+ }- M* n6 y. c' A
            1.堆栈(SP)的初始化;  c: k2 i# s/ h; P7 h; f; m
1 i; M5 X6 U0 V2 {
            2.初始化程序计算器(PC);
7 k+ _7 v1 w4 C" z/ c$ T# M% M2 p1 f% L2 V# ^, o+ h
            3.设置向量表异常事件的入口地址;
0 `& r" J: G0 B' Z' @
8 r4 B* c  y6 G            4.调用main函数。
; @) M* _+ Y5 Z! r, G7 t. Y9 ]0 a' q$ m7 @
        其中我们修改了启动文件的Reset_handler函数,该段代码主要加入了开启STM32F4硬件FPU的代码,以使能STM32F4的浮点运算单元。2 r$ |8 A: B, t5 T2 q7 n$ d# m$ p' q

* C. _+ C6 d' i6 Q6 ?# W; R7 C        其中的0xE000ED88为协处理器控制寄存器(CPACR)的地址,该寄存器的第20~23位用来控制是否支持浮点运算,此处全部设置为1,以支持浮点运算。
# S" T2 R5 V7 f2 p# ]) V% L7 M
  [2 j7 C/ w# _9 |, U8 \) s5 i        mdk的target Code Generation 选用Use FPU    (V5.25 版本显示为 Single Precision)   。(mdk默认STM32F4外部晶振为12M,此处Xtal(Mhz)设置为8.0M)9 x& X8 v- U* K9 Q; N& R

* M; z) b9 \" `" D& Q6 q0 d# m! F7 o        然后在Target目录树打开Manage Project Items进行目录创建和文件添加。6 s7 v1 e7 h0 K
. M( z6 V- [; ?' v1 U1 D
       接着就是设置OBJ输出目录,将生成的hex文件放置在OBJ目录里。Options for Target->Output->Create Hex File->Select Folder For Objects->找到OBJ文件夹->OK6 R. }# R4 P. Q+ X

" H; z" E# x! }* i7 a( b        头文件相关处理在Options for Target->C/C++选项中
% V* n. h% j9 S- L
" J7 ^$ m( U) i4 [6 Y        Define  :  STM32F40_41xxx' k, N+ m, f. c3 `
, [& e1 p: r* s; [% ]! v1 g+ u: d
        Optimization :    -O0   
7 `* S# p) [& [' ^8 c, E+ x  ^! E8 l) U/ z2 W1 J0 d
        Inlcude  Paths   添加相应的头文件路径
7 Y  C( Y0 n; e9 O8 f' E
  ]) v+ S* o. _- P% Q        Jlink相关驱动建议调用以往支持的Segger目录。
* S; B( C- [0 r0 u0 B  c  m) ^4 `; K, `+ y# a

- e; K3 }' d/ ^3 o1 \7 u+ \4 _8 l3 a5 q  S9 J# {8 R
收藏 评论0 发布时间:2021-12-7 11:00

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版