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

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

[复制链接]
STMCU小助手 发布时间:2021-12-7 11:00
程序小白的我从安装mdk5.14搭建平台到更新至V5.25搭建平台,并配置相关参数,发现了一些问题,并查看一些博友的文章最终得以解决,以供以后如有类似情况可以查看解决。
# W2 B  `! A9 M: R$ V3 P! \  q6 ^. }! u- l  z! }( l
        如图所示,建立相关文件夹。打开MDK,Project->New uVision Project7 |. T( d( O) Q4 }
( P/ Q, @3 d' j5 b1 ~2 n& X
20180515163615611.png

3 y% [7 u. O) F1 I/ n4 q* v/ G
' m1 I) }: J) o: R( w; @
20180515163725883.png

  z* D, z! C+ `. O# {% n" ]* S1 C" h, B1 Z% w9 C# U+ ?1 Y6 n
' D0 @6 {) |0 E# ]! }" p1 Z
            此处注意的是需要选择相应的芯片,我们选择的是STM32F407ZGT6,一定要安装相应的pack安装包才可以建立工程文件。    接着,我们添加相应的启动代码(startup_stm32f40_41xxx.s)。
) _0 c, _+ R3 A
; c" l6 e5 h8 r# z        启动代码的主要作用如下:    + W  @, S! o8 P1 a" K) m
+ i# P% {% U: Y2 u: q
            1.堆栈(SP)的初始化;
  W7 v( L' A/ p% ^' G' m
8 j& }  P) X0 {" A4 N. d, w            2.初始化程序计算器(PC);% X: l! l. V2 Z, s8 R) M

7 ~" h" x. y0 }( J4 e            3.设置向量表异常事件的入口地址;
  }" r5 W2 [, J# q6 T1 V- V
: r. m! l1 W  u9 q3 v' D& ?% O            4.调用main函数。6 d% K4 I/ O' |% s, x6 Y" A
8 F8 Q# M' \6 U( v1 a' g9 A/ v
        其中我们修改了启动文件的Reset_handler函数,该段代码主要加入了开启STM32F4硬件FPU的代码,以使能STM32F4的浮点运算单元。
% @' {5 W% ^! Y, ?* _( t- L# F) E+ `$ Q7 \% b
        其中的0xE000ED88为协处理器控制寄存器(CPACR)的地址,该寄存器的第20~23位用来控制是否支持浮点运算,此处全部设置为1,以支持浮点运算。1 l6 L3 v0 S3 N! O& F4 @

. h7 [  ^/ N0 N4 G" ?* x* l2 O        mdk的target Code Generation 选用Use FPU    (V5.25 版本显示为 Single Precision)   。(mdk默认STM32F4外部晶振为12M,此处Xtal(Mhz)设置为8.0M)3 l3 c; o% N) W0 I2 o/ v1 X3 J% S

8 Z/ X+ G( e* @; z8 `+ E        然后在Target目录树打开Manage Project Items进行目录创建和文件添加。* P& _3 h4 X& X: D
/ D7 B4 L  I9 A6 h
       接着就是设置OBJ输出目录,将生成的hex文件放置在OBJ目录里。Options for Target->Output->Create Hex File->Select Folder For Objects->找到OBJ文件夹->OK4 Y) a; V0 `' d
% d# N" S. W0 p$ c) ^0 p
        头文件相关处理在Options for Target->C/C++选项中
: _% Y; x7 y5 J# {
; q0 _) w! |2 i' _' \6 ?        Define  :  STM32F40_41xxx
+ d# L( r! J) A+ y$ y1 u) Z1 B& }
        Optimization :    -O0   / D* Z* i' Q6 g2 a) _. R* I
2 A; r$ O" R4 H! Q/ @# [+ ?9 B/ G
        Inlcude  Paths   添加相应的头文件路径
' v! \8 o7 \. n8 {5 U
" B; Y5 ]! E! O        Jlink相关驱动建议调用以往支持的Segger目录。
2 K9 X7 M- r7 t9 ]
6 e7 @# j& R& s
+ [0 e4 y2 F; i: X2 b( g  [1 @
( [0 {8 z! W8 K6 |2 B# W
收藏 评论0 发布时间:2021-12-7 11:00

举报

0个回答

所属标签

相似技术帖

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