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

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

[复制链接]
STMCU小助手 发布时间:2021-12-7 11:00
程序小白的我从安装mdk5.14搭建平台到更新至V5.25搭建平台,并配置相关参数,发现了一些问题,并查看一些博友的文章最终得以解决,以供以后如有类似情况可以查看解决。( R5 Z$ z) n1 m3 C/ @, g
/ x# a: D9 ]& m& t& s$ c4 {
        如图所示,建立相关文件夹。打开MDK,Project->New uVision Project
* E6 j: {0 v8 J4 f3 |
, B( N5 R0 k4 J# V5 F& e4 g4 @
20180515163615611.png
4 b' M4 f! s; P0 M: ~# x
9 Y4 a$ F& Y7 i5 G2 }% n) t4 F5 l
20180515163725883.png

! b: h/ \" }3 b1 }
  e2 O' g. @% ~) x0 G% x. f( `2 P0 z/ h; p
            此处注意的是需要选择相应的芯片,我们选择的是STM32F407ZGT6,一定要安装相应的pack安装包才可以建立工程文件。    接着,我们添加相应的启动代码(startup_stm32f40_41xxx.s)。
# e" e/ I# L/ b
5 u; g+ V3 O5 M& e2 R- N. z) o        启动代码的主要作用如下:    $ p% q! e& V. b  R/ s; ?8 q9 v
- R& W4 z! B# m0 c2 |3 j
            1.堆栈(SP)的初始化;& @0 R9 s( d3 d. _2 ]) a) X
4 L# ]( {. J7 h  x& M; |
            2.初始化程序计算器(PC);7 I( z  g+ m% z( R# y
( F$ t; e5 V0 Q7 f% I( J* Y0 I% E
            3.设置向量表异常事件的入口地址;
2 v1 u9 e, C" d. W
9 G7 i( f# \3 E. \" b/ G            4.调用main函数。2 V6 Z  q/ N- m3 X" g- T- @& C

8 d, J5 O8 |3 Z        其中我们修改了启动文件的Reset_handler函数,该段代码主要加入了开启STM32F4硬件FPU的代码,以使能STM32F4的浮点运算单元。
2 }1 I% y* ^! r% x' [6 R0 \
$ i& I/ X( P. h& L% ?' M% Z        其中的0xE000ED88为协处理器控制寄存器(CPACR)的地址,该寄存器的第20~23位用来控制是否支持浮点运算,此处全部设置为1,以支持浮点运算。
+ M3 |( k* g; `7 i5 B1 t5 v4 y2 d3 R' F' R
        mdk的target Code Generation 选用Use FPU    (V5.25 版本显示为 Single Precision)   。(mdk默认STM32F4外部晶振为12M,此处Xtal(Mhz)设置为8.0M)# ?9 l- h3 p$ n* Z  h0 u
( T4 E/ x& N6 t* R
        然后在Target目录树打开Manage Project Items进行目录创建和文件添加。
# v9 w2 k3 x! y5 M; N8 D5 I9 Y5 K; A; a2 C  \. ~- F3 F! l- \* o' h
       接着就是设置OBJ输出目录,将生成的hex文件放置在OBJ目录里。Options for Target->Output->Create Hex File->Select Folder For Objects->找到OBJ文件夹->OK' w; x5 B3 W: t1 j+ @

4 @) }6 l8 H5 p* D        头文件相关处理在Options for Target->C/C++选项中
  o' G. W7 f& c2 \: ^- k# e+ m+ k  t, g& G8 y2 q2 Z
        Define  :  STM32F40_41xxx0 z* Q3 ~2 {0 o4 v% w1 Z! x; j

$ s- S& J9 r% v        Optimization :    -O0   
# v/ ~8 T% U- c* c% ~; |* R9 B8 n1 F, k& w9 M- m
        Inlcude  Paths   添加相应的头文件路径
9 w5 [3 w; d7 E* Y6 ]6 r* N* ?" c/ O+ p5 }
        Jlink相关驱动建议调用以往支持的Segger目录。$ w2 m! m, g2 F+ ~; o

. L' R& M8 s  C- I
( E0 x8 {2 F* \
' i+ K9 i+ b$ S$ Z4 `# n- K
收藏 评论0 发布时间:2021-12-7 11:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

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