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

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

[复制链接]
STMCU小助手 发布时间:2021-12-7 11:00
程序小白的我从安装mdk5.14搭建平台到更新至V5.25搭建平台,并配置相关参数,发现了一些问题,并查看一些博友的文章最终得以解决,以供以后如有类似情况可以查看解决。
$ S  k% E& |/ ?8 e) I1 P- l2 M& c4 S5 N( P7 D! {2 {
        如图所示,建立相关文件夹。打开MDK,Project->New uVision Project
7 \3 @8 m4 G& U' g# A$ p+ g, \0 i+ y4 i5 K& N% P
20180515163615611.png
/ @. x+ _9 j. u' ]# L' X
% w' C. u4 y/ W8 r: P7 r
20180515163725883.png

: B8 {4 q6 `* Q( \" L
" o) j) c( ]7 ], }# a" ^2 ?" U
& {, Z( |4 b3 H# M! P4 W  N, A9 U            此处注意的是需要选择相应的芯片,我们选择的是STM32F407ZGT6,一定要安装相应的pack安装包才可以建立工程文件。    接着,我们添加相应的启动代码(startup_stm32f40_41xxx.s)。
* Y( |" b4 w4 Y% [
( G" }9 \1 H% _: J% Q* Z& N" D        启动代码的主要作用如下:    ( M  m, [0 y6 X& E) h4 \
' o2 ?3 e/ h8 R1 e% D' [2 i7 P
            1.堆栈(SP)的初始化;
7 M& Z8 v6 r! m% M7 W- s; F; r, g/ D2 R7 p% H, z  I$ _/ p
            2.初始化程序计算器(PC);
" U; A6 v4 z0 [7 \3 a' ~8 a. Z) |' \- {% X
            3.设置向量表异常事件的入口地址;
3 Z/ k1 n( h! Q" ?# T$ w, d/ S6 l
            4.调用main函数。
) g8 N; [% o* Z/ V) B  [. Z7 |
1 u4 {  R1 w- g6 I        其中我们修改了启动文件的Reset_handler函数,该段代码主要加入了开启STM32F4硬件FPU的代码,以使能STM32F4的浮点运算单元。/ D$ c/ X  u6 m- m2 `$ B5 y. w' m
  k7 m+ F) ~6 @3 _; J
        其中的0xE000ED88为协处理器控制寄存器(CPACR)的地址,该寄存器的第20~23位用来控制是否支持浮点运算,此处全部设置为1,以支持浮点运算。
- I" Y7 j7 f' K* r9 i+ f1 Q) G5 s5 c3 f6 u9 I7 Z5 N
        mdk的target Code Generation 选用Use FPU    (V5.25 版本显示为 Single Precision)   。(mdk默认STM32F4外部晶振为12M,此处Xtal(Mhz)设置为8.0M), M; O- Z& t9 s" _+ h4 m

* w; \4 S1 f! E" C        然后在Target目录树打开Manage Project Items进行目录创建和文件添加。. U; Y; P6 R+ o! S9 ~# I8 Q2 |

# E, e6 Z6 @9 o2 f$ v; h& N0 h, v       接着就是设置OBJ输出目录,将生成的hex文件放置在OBJ目录里。Options for Target->Output->Create Hex File->Select Folder For Objects->找到OBJ文件夹->OK8 W0 n7 ?0 e) _% E
$ m8 @6 h( Z) B! a
        头文件相关处理在Options for Target->C/C++选项中; z; ]8 n6 U0 y, P

" D( U7 N, u* o% c6 K2 j        Define  :  STM32F40_41xxx
. j) G& U% C. s% Q) ]
6 n( S  s! d* t  s8 N        Optimization :    -O0   7 U+ @- u" w' r* {

- }1 J& D/ L* ~/ f) Z5 i7 X        Inlcude  Paths   添加相应的头文件路径
- [8 _' F) h# l9 ^+ \( l8 P$ Y( }* e: ?+ O
        Jlink相关驱动建议调用以往支持的Segger目录。
: n' [: x3 l9 y5 x$ @; O
$ k! V) d8 u, M( L  w- b1 l
& m8 g1 \6 O9 p1 f. }/ A  F  z9 K: _* L/ R, `+ i
收藏 评论0 发布时间:2021-12-7 11:00

举报

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