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

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

[复制链接]
STMCU小助手 发布时间:2021-12-7 11:00
程序小白的我从安装mdk5.14搭建平台到更新至V5.25搭建平台,并配置相关参数,发现了一些问题,并查看一些博友的文章最终得以解决,以供以后如有类似情况可以查看解决。
9 }- V: W& ?+ M3 C! K( K( f& i! Y6 F/ }1 i
        如图所示,建立相关文件夹。打开MDK,Project->New uVision Project
" i) ^: e- H" S7 [- v9 A8 k
% X3 y2 C8 \! L, @
20180515163615611.png
' j6 `. z9 ~6 A4 p
  k- t* |9 f# v, }3 V, m
20180515163725883.png

* f6 _5 d% C4 X" g: c  }
1 i; P8 K) u5 w& ]- Z8 v4 [8 W/ A! |! n$ t0 z! l# ^* q
            此处注意的是需要选择相应的芯片,我们选择的是STM32F407ZGT6,一定要安装相应的pack安装包才可以建立工程文件。    接着,我们添加相应的启动代码(startup_stm32f40_41xxx.s)。9 f0 N6 x# i! M+ n2 V
2 K, v" l% B) x0 f5 P
        启动代码的主要作用如下:    - P7 f; P+ k6 E3 v, p; v4 ~

" \2 n+ i2 @( n! G* Y0 `& n8 |% F: G            1.堆栈(SP)的初始化;
7 i8 z9 }; r) ~* [* v+ I8 F" w* Q/ m! N9 ^, X
            2.初始化程序计算器(PC);
+ H- e/ ^  B! X% m+ i
( h+ P4 U1 N6 N            3.设置向量表异常事件的入口地址;
& S! }1 C1 L/ G$ H
9 z' D1 B0 `: h( r* k+ H            4.调用main函数。" c6 e5 W5 w" o* A! c0 A

# L" t4 C0 G5 g4 c        其中我们修改了启动文件的Reset_handler函数,该段代码主要加入了开启STM32F4硬件FPU的代码,以使能STM32F4的浮点运算单元。
/ i/ x. B/ p$ _2 _. t' w) B& @1 p0 ?2 U$ m! r% Y8 M
        其中的0xE000ED88为协处理器控制寄存器(CPACR)的地址,该寄存器的第20~23位用来控制是否支持浮点运算,此处全部设置为1,以支持浮点运算。
2 H8 B1 p: Q6 C* E
/ c" O. ^8 b- D+ Z. h$ A6 x        mdk的target Code Generation 选用Use FPU    (V5.25 版本显示为 Single Precision)   。(mdk默认STM32F4外部晶振为12M,此处Xtal(Mhz)设置为8.0M)6 N- U9 w- P- T
1 m5 l2 l% l3 y, |* a6 r
        然后在Target目录树打开Manage Project Items进行目录创建和文件添加。
( u) B" W9 V8 S" Z: E% r4 A8 e$ [4 A3 |6 e& v
       接着就是设置OBJ输出目录,将生成的hex文件放置在OBJ目录里。Options for Target->Output->Create Hex File->Select Folder For Objects->找到OBJ文件夹->OK  A( d3 C/ |/ a  n$ d! ?
' j- q$ b' d6 N1 l7 d5 \
        头文件相关处理在Options for Target->C/C++选项中
, \6 p+ x) X9 p
- Q9 b  J7 J$ d1 c8 ^4 t        Define  :  STM32F40_41xxx
2 x; J* D% z/ s. R$ H* }
0 M1 \$ e5 F$ F4 R7 c        Optimization :    -O0     K: n0 z8 B5 Z
, h0 o9 t* \, t% Y1 n7 M6 A  {4 T  B
        Inlcude  Paths   添加相应的头文件路径0 q" `+ p0 z; t; r8 i
6 j& z+ C1 h5 X  o; b* R  t$ X1 y6 M
        Jlink相关驱动建议调用以往支持的Segger目录。
% n( K8 w9 c) a( Z; v9 B+ n! F
; P5 l6 H' d5 x9 ]/ T& ^0 t- d+ G7 a& C1 T0 K) H5 D1 N

! W1 Q3 j( ~9 X6 k4 [) n) d  R
赞 收藏 评论0 发布时间:2021-12-7 11:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

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