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

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

[复制链接]
STMCU小助手 发布时间:2021-12-7 11:00
程序小白的我从安装mdk5.14搭建平台到更新至V5.25搭建平台,并配置相关参数,发现了一些问题,并查看一些博友的文章最终得以解决,以供以后如有类似情况可以查看解决。
1 R0 W4 q; k# g+ J. \% |) z4 M9 e; ~! k& N5 z% u. N0 X  S- g: E
        如图所示,建立相关文件夹。打开MDK,Project->New uVision Project$ j  G2 D7 E& K! h( P
2 E7 u9 ?# i. _2 m- r& e) G- e) y
20180515163615611.png
4 u3 e5 g  L) U) n% w, L/ p

# M, C0 y- e9 a# w- \
20180515163725883.png
, a, j. d) h( |; G# D( l
4 u+ F9 t' N0 R5 _2 R+ K

7 I. g1 p! u  A            此处注意的是需要选择相应的芯片,我们选择的是STM32F407ZGT6,一定要安装相应的pack安装包才可以建立工程文件。    接着,我们添加相应的启动代码(startup_stm32f40_41xxx.s)。
5 h" w$ O6 m7 Z9 a* m9 B+ d/ k% u
$ S* ~' L* j2 p) Z7 i1 B        启动代码的主要作用如下:    & g2 i- J1 e- g/ T& V! R( K/ C
3 K, E4 B" P( e- _& L
            1.堆栈(SP)的初始化;* M8 ^" U9 p; M: A( O& C
7 l4 w( S9 |9 D6 _9 a
            2.初始化程序计算器(PC);0 h& N3 E5 P7 k, G

. b* B- T* H% T5 Q            3.设置向量表异常事件的入口地址;
1 {! O# h7 o5 z, p& e+ q2 E# M5 i7 H& z" e  {
            4.调用main函数。
" I: B5 s3 ^; N
1 U" H/ o, C2 H! q3 }        其中我们修改了启动文件的Reset_handler函数,该段代码主要加入了开启STM32F4硬件FPU的代码,以使能STM32F4的浮点运算单元。* a3 x; c( u6 Q1 M6 x- t

, k6 D9 P( W+ g3 ], u# s! {        其中的0xE000ED88为协处理器控制寄存器(CPACR)的地址,该寄存器的第20~23位用来控制是否支持浮点运算,此处全部设置为1,以支持浮点运算。
- \# b- t' q1 W/ \( d, F) x3 X, k3 d
! L$ j. {) t5 h7 ?( j        mdk的target Code Generation 选用Use FPU    (V5.25 版本显示为 Single Precision)   。(mdk默认STM32F4外部晶振为12M,此处Xtal(Mhz)设置为8.0M)
: q! G9 m1 V) _+ I# i3 e6 g1 ~' t. T, ]. i, D" i$ ~1 u/ l( G
        然后在Target目录树打开Manage Project Items进行目录创建和文件添加。. S$ K0 Y+ j/ U/ R, _4 T

" f3 K6 H+ V5 S5 l5 ?/ S: F  c       接着就是设置OBJ输出目录,将生成的hex文件放置在OBJ目录里。Options for Target->Output->Create Hex File->Select Folder For Objects->找到OBJ文件夹->OK
; p, X. \' A$ U, a" e) f# \. S0 b7 W# M/ w1 b
        头文件相关处理在Options for Target->C/C++选项中$ f# P- E. l4 \0 ]' ~; f
% O/ F0 W& U  p/ |5 _
        Define  :  STM32F40_41xxx  K5 `5 H" I1 j3 n

6 j7 v" u$ A7 W, ]" `7 J; C        Optimization :    -O0   / }2 {5 r( A# d( h( F, g! }

- v6 d0 k/ L- p* ~  _. E        Inlcude  Paths   添加相应的头文件路径' |6 Z/ `. E7 G: C4 m4 |
. J1 q3 ?5 i2 B5 d7 H1 ~% ^
        Jlink相关驱动建议调用以往支持的Segger目录。
3 h5 K8 y- v' }& p  V6 Q
7 X# X) N: [- b6 l8 @" z" F
6 O- k$ o6 Z) a' }- K0 q' m
8 Q1 @( H0 i* ~: }# B
收藏 评论0 发布时间:2021-12-7 11:00

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版