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

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

[复制链接]
STMCU小助手 发布时间:2021-12-7 11:00
程序小白的我从安装mdk5.14搭建平台到更新至V5.25搭建平台,并配置相关参数,发现了一些问题,并查看一些博友的文章最终得以解决,以供以后如有类似情况可以查看解决。4 `! q# K- _: i- H

% G. s6 O1 Q8 f# u+ G9 B        如图所示,建立相关文件夹。打开MDK,Project->New uVision Project! T: V0 x  S9 |2 J; j' t- W

0 ~6 j" E2 v9 O& _- t- s
20180515163615611.png
, Y1 t. ~; t" {) z  a( V6 Y$ O& ^/ k
! g: ?) d* p& |) |2 q. z+ K. g' l
20180515163725883.png
6 A% |" p5 O! B" I9 E

/ {# U3 q4 ]8 N# n0 [! y; M4 e0 u' l1 N( C- d: N  \9 a" V* r
            此处注意的是需要选择相应的芯片,我们选择的是STM32F407ZGT6,一定要安装相应的pack安装包才可以建立工程文件。    接着,我们添加相应的启动代码(startup_stm32f40_41xxx.s)。) Z9 R+ m! u; h
* C0 m- H/ k9 Z' A
        启动代码的主要作用如下:   
: L% L& g+ k* r9 [: e" a( x4 s+ _7 y0 k. z
            1.堆栈(SP)的初始化;
9 M/ y, ]% i* W$ V) _4 V; e) P4 u$ M, [8 ^; [3 G0 c
            2.初始化程序计算器(PC);7 ?3 Z- Q& U; Q
9 b) n% F+ y- H3 h% V
            3.设置向量表异常事件的入口地址;
2 N9 t) o) P. s; ~( e. m. n, V& g2 u( A; E
            4.调用main函数。
. C) Q3 \% {+ a% R7 ~% T% f+ ?, K" P2 t! ~+ A( a9 [
        其中我们修改了启动文件的Reset_handler函数,该段代码主要加入了开启STM32F4硬件FPU的代码,以使能STM32F4的浮点运算单元。! q. b" Y! z6 o, O- h2 q+ f

$ T  o' f+ d! P" m$ o6 H        其中的0xE000ED88为协处理器控制寄存器(CPACR)的地址,该寄存器的第20~23位用来控制是否支持浮点运算,此处全部设置为1,以支持浮点运算。# {  `( Y' S% v/ E. Z$ K3 K5 t
4 Y0 J: s  w: m3 r# w4 p
        mdk的target Code Generation 选用Use FPU    (V5.25 版本显示为 Single Precision)   。(mdk默认STM32F4外部晶振为12M,此处Xtal(Mhz)设置为8.0M)
! r4 K% N3 s: m' H$ P3 A7 ^
' S8 u8 G1 g  f" d9 ?        然后在Target目录树打开Manage Project Items进行目录创建和文件添加。3 v: H' C+ a/ V* j, u

. H6 x( |, ~" J8 E; N8 T$ d' R* G3 q       接着就是设置OBJ输出目录,将生成的hex文件放置在OBJ目录里。Options for Target->Output->Create Hex File->Select Folder For Objects->找到OBJ文件夹->OK5 g6 O! O: A& R+ A' w

6 O; I  V4 H* i- g3 [        头文件相关处理在Options for Target->C/C++选项中
! m: ?9 ?, G" ?  s2 [  _* X; Q( T. l0 S& F* W# M2 J0 ^
        Define  :  STM32F40_41xxx
& @' h0 u+ _2 o
8 }7 x: @; `$ A7 o2 K        Optimization :    -O0   
' L6 B& S5 ?7 _) H
) L* m  N+ ^& u  h. h* o        Inlcude  Paths   添加相应的头文件路径( c6 s5 e7 R4 f2 J  `: N/ J
/ }) E7 Q, B/ l' X% o
        Jlink相关驱动建议调用以往支持的Segger目录。+ J4 e; {4 y" e) R& I* @5 j

  x3 Z: U8 J4 ?; [+ u# |% @* g! w6 {2 {/ Z5 Q2 y
% w3 A  _* t& ~
赞 收藏 评论0 发布时间:2021-12-7 11:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

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