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

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

[复制链接]
STMCU小助手 发布时间:2021-12-7 11:00
程序小白的我从安装mdk5.14搭建平台到更新至V5.25搭建平台,并配置相关参数,发现了一些问题,并查看一些博友的文章最终得以解决,以供以后如有类似情况可以查看解决。
- y) \: c" Z  M! M8 B
2 S3 X5 Y2 B+ h. L/ A' Q, k7 e0 _        如图所示,建立相关文件夹。打开MDK,Project->New uVision Project2 z0 r, e+ d9 X2 d

' e" Y! h9 Q' s# Y( g
20180515163615611.png

3 t8 h" O+ W, H0 k' r, J( x8 j0 M& o/ @: S- g6 x3 e8 M
20180515163725883.png
" ?2 N( s8 G: U4 k- \% U+ [

& \( N- T2 S* z' a$ ^: b/ D
, T5 D( D; n: P            此处注意的是需要选择相应的芯片,我们选择的是STM32F407ZGT6,一定要安装相应的pack安装包才可以建立工程文件。    接着,我们添加相应的启动代码(startup_stm32f40_41xxx.s)。2 h! l" y# W0 a: Z- U
- k0 {! t, G. t4 Z3 [% M
        启动代码的主要作用如下:    2 n9 L" y4 G+ l8 }$ O7 H

" o6 u& [  p! Q4 I: K4 Q+ b            1.堆栈(SP)的初始化;) q8 A6 X4 A/ F

" b$ ?# l8 l# _+ f5 ^. U. G" t            2.初始化程序计算器(PC);
, W* E9 m1 L2 w# I+ N' i" Q( W& T3 W( F' o+ o4 M0 b$ S6 X6 n9 p
            3.设置向量表异常事件的入口地址;; D0 P- g, M: F% d& M# D# n) j
) z; k. r! b+ Q, v" @$ @
            4.调用main函数。1 g: W  V: O( n% e8 V$ o5 h6 y' X

" _* t* g) r, p4 j" n6 r- t        其中我们修改了启动文件的Reset_handler函数,该段代码主要加入了开启STM32F4硬件FPU的代码,以使能STM32F4的浮点运算单元。
8 W) o: X0 M! d; Q6 r* f
$ Q+ l4 {% ]+ S; _$ B( J5 E! x/ ?, @; X        其中的0xE000ED88为协处理器控制寄存器(CPACR)的地址,该寄存器的第20~23位用来控制是否支持浮点运算,此处全部设置为1,以支持浮点运算。, U3 C- l) L6 G' I& p. ^$ K' e
& F* z; f$ }( \" P0 J! b
        mdk的target Code Generation 选用Use FPU    (V5.25 版本显示为 Single Precision)   。(mdk默认STM32F4外部晶振为12M,此处Xtal(Mhz)设置为8.0M)
2 H! G* m) l( k$ b
# `1 l9 M# e/ u9 f3 S3 q        然后在Target目录树打开Manage Project Items进行目录创建和文件添加。; U4 o( P- O% C- y
; g8 z+ Y7 c8 O3 T( w; l
       接着就是设置OBJ输出目录,将生成的hex文件放置在OBJ目录里。Options for Target->Output->Create Hex File->Select Folder For Objects->找到OBJ文件夹->OK  W* \7 s/ r' J

% D5 P' O  c4 b# T        头文件相关处理在Options for Target->C/C++选项中
$ _) a0 M+ ^) P/ }/ u. j$ V  m0 @: ~5 I9 I: m0 l4 ^
        Define  :  STM32F40_41xxx' Y! `! [  C& a. |

* a% A& V' u1 a1 @( O" \! {/ {# L        Optimization :    -O0   " I5 y% x5 k5 x: c2 \: D! F6 h
" ]9 `8 A5 M( M$ R0 p/ }4 J( ?/ R4 e
        Inlcude  Paths   添加相应的头文件路径
- r' \/ f0 I6 k0 T
7 n5 N4 i2 f+ S: h+ z        Jlink相关驱动建议调用以往支持的Segger目录。; q9 v# H, X* w+ V5 G

, s/ h- m% r+ @5 |( O6 S; P* a( P! f* P& U8 V7 K3 A" \- E5 n; H
# T$ l) u9 v# S) H4 r0 R/ O
收藏 评论0 发布时间:2021-12-7 11:00

举报

0个回答

所属标签

相似技术帖

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