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

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

[复制链接]
STMCU小助手 发布时间:2021-12-7 11:00
程序小白的我从安装mdk5.14搭建平台到更新至V5.25搭建平台,并配置相关参数,发现了一些问题,并查看一些博友的文章最终得以解决,以供以后如有类似情况可以查看解决。
- v; Z" r6 t) H% G4 {/ Q
0 O" U. c6 Y' a8 E/ `        如图所示,建立相关文件夹。打开MDK,Project->New uVision Project
* i! E/ U; `) O7 K4 v+ |: X
  N" A  u: e# u. ]6 y
20180515163615611.png

* i3 ^! b: k0 D+ P' X( I2 o; v! ^
20180515163725883.png
, f& a+ u0 s  E; |( [
& a: j* w. Q2 R! J& e: R

( b3 j1 m& x. ]" T            此处注意的是需要选择相应的芯片,我们选择的是STM32F407ZGT6,一定要安装相应的pack安装包才可以建立工程文件。    接着,我们添加相应的启动代码(startup_stm32f40_41xxx.s)。0 e7 Y' C; h" O2 P
; Q" Z. [3 E$ I2 }6 u* p
        启动代码的主要作用如下:    - d$ t  ^% `4 @2 C! R6 m8 [* V
6 f$ d3 {$ U' v) l; K" L
            1.堆栈(SP)的初始化;9 F, ]$ Q/ k+ Q- Z' e

( ?/ W' y2 U5 X            2.初始化程序计算器(PC);
( f: A* F5 p) r/ i
( f% W. ]; a  F' \' Q# E            3.设置向量表异常事件的入口地址;
9 o7 \2 ^. j3 a9 R$ l, }# F* K% v- C8 F' b6 L1 O8 ]
            4.调用main函数。! m; J' w: _$ w/ [3 z6 a3 A; N

- E, g' P/ l! X3 }1 o! w        其中我们修改了启动文件的Reset_handler函数,该段代码主要加入了开启STM32F4硬件FPU的代码,以使能STM32F4的浮点运算单元。3 g! @1 e# a( ^  R
6 W0 }4 a# Z& q# _
        其中的0xE000ED88为协处理器控制寄存器(CPACR)的地址,该寄存器的第20~23位用来控制是否支持浮点运算,此处全部设置为1,以支持浮点运算。
3 E, b& V! S0 g, G& X- e! r7 ]! A" ]; x; e  B/ l
        mdk的target Code Generation 选用Use FPU    (V5.25 版本显示为 Single Precision)   。(mdk默认STM32F4外部晶振为12M,此处Xtal(Mhz)设置为8.0M)
- N5 c3 u& Q. |1 o+ u3 ~% L0 F- }) m; ]0 G9 A
        然后在Target目录树打开Manage Project Items进行目录创建和文件添加。, e0 K: l9 ^& Q% C7 |

3 X4 e( P$ f& y% }2 a/ Z       接着就是设置OBJ输出目录,将生成的hex文件放置在OBJ目录里。Options for Target->Output->Create Hex File->Select Folder For Objects->找到OBJ文件夹->OK2 T! ^3 f  ^2 a& S6 e  \

) _( N7 Y4 G1 n3 j, t3 g, y: [        头文件相关处理在Options for Target->C/C++选项中
  q. h0 k, L4 I' Z4 w7 N. W, d& l+ q0 D' b: f
        Define  :  STM32F40_41xxx
6 t' H, `, G( e5 D( y$ S+ q' O
3 J7 \) a  J' R2 ^        Optimization :    -O0   
0 u/ E6 T  ]' H; M  r9 S' Y+ F$ e2 b
        Inlcude  Paths   添加相应的头文件路径
0 n5 B' v6 ~/ |0 r. X. M. U* X* H
        Jlink相关驱动建议调用以往支持的Segger目录。; m; x. l3 J6 I  C

( f8 I5 s- V4 {  I
  L4 u6 y3 l( B( ]: U
/ C2 V5 G+ `4 p5 x/ ~
收藏 评论0 发布时间:2021-12-7 11:00

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版