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

基于stm32F1启动过程经验分享

[复制链接]
攻城狮Melo 发布时间:2023-5-14 18:52
STM32启动模式
* ?( O7 x* S6 h5 _M3/M4/M7等内核复位后,做的第一件事:
% @' \/ I7 ]  p) n# y4 x( f( K1.从地址 0x0000 0000 处取出 堆栈指针 MSP 的初始值,该值为栈顶地址2.从地址 0x0000 0004 处取出程序计数器指针 PC 的初始值,该值是复位向量(Reset_Hander)
- I! u, r* i3 l& N) J$ h
通过BOOT0和BOOT1两个引脚的输入选择启动模式
: X) p  C' J4 n# Q* g/ F! C# P在系统复位后,sysclk的第4个上升沿,BOOT引脚的值将被锁存(锁存后该引脚的值改变不影响已选择模式)
! V/ G, t- w1 C  m" a4 k1 A" w$ j) }  r3 c2 l8 s  [
U4(38()3`0{E30}3{@G28%O.png
3 H3 ^9 s/ J0 h3 g: v- g6 E. W1 K) N/ P8 r5 Y% v
STM32三种启动模式对应的存储介质均是芯片内置的,它们是:
9 K4 y/ y( w" G+ u1.用户闪存 = 芯片内置的Flash。从用户闪存启动,这是正常的工作模式。
' d2 ~4 W1 ]# C# g  L) {$ a2.SRAM = 芯片内置的RAM区,就是内存啦。从内置SRAM启动,这种模式可以用于调试8 C; u# L0 M( ?" R$ s* J
3.系统存储器 = 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM区。 从系统存储器启动,这种模式启动的程序功能由厂家设置。
+ ]5 l# @+ [6 T. w6 q0 `- j& C  K' W+ b7 b
STM32启动过程(以内部flash启动为例)- e& [' w/ l9 v% r7 O6 u1 e
总体概述:
7 F* A! u& \" f: V" a* X' m7 Z5 K. X% Q
011d8df70cb84a3b9a294c2d5865b7b2.png
# O( u8 _5 @0 Y; Y* z3 ~7 F/ J( z6 B7 l7 J  y/ G! f9 B
启动文件功能
$ E9 d5 b! ?  d7 D  J9 C启动文件由汇编编写,是系统上电复位后第一个执行的程序。
1 y0 z' P( j( `: l启动文件主要做了以下工作:
2 p" u, D* v6 [. u1 L初始化堆栈指针 SP = _initial_sp (从 0x8000 0000 获取)5 P4 H" c1 i  B5 q! Q+ i
初始化程序计数器指针 PC = Reset_Handler (从 0x8000 0004 获取)
0 g  m: j" z, q+ N设置堆和栈的大小 Heap_Size(堆)、Stack_Size(栈)
1 f, B. V' R: V8 J9 z: o7 I初始化中断向量表" ~' {5 B1 Q4 ~
配置外部 SRAM 作为数据存储器(可选)
0 `2 v. \  A7 ~' [6 }! k) u配置系统时钟,通过调用 SystemInit 函数(可选)
" b% J. e3 [( C9 r* l9 K调用 C 库中的 _main 函数初始化用户堆栈,最终调用 main 函数
" B+ G# _" p5 m
& K, ~1 l8 j9 w# G- b
启动文件常用汇编指令及说明2 {4 {7 L, O3 x: _) ]+ c8 V
! O; u* w" s$ j7 \7 N; W; P0 }
(8J0XMW2(]ELJ1~]9SU2BOD.png
+ |- N4 Y0 L' O0 F W_T5)296@FI$D{Y2HJ1ELO9.png 3 k  @2 B2 n5 P6 R
2 Q, M1 C* k9 t( v
————————————————
: J9 o6 P7 J, C版权声明:up up day
' Z. ]. R8 X7 D2 R) y3 w如有侵权请联系删除' ~' t- z9 }. ]7 `) W8 |
9 S/ l; j: y7 J# x7 y
* s8 ?% r4 b$ H
. G" e  Y. m, X& m" K0 d% R
8 |' \' `% v" o' m/ q) m5 L  m
赞 收藏 评论0 发布时间:2023-5-14 18:52

举报

0个回答

所属标签

相似技术帖

官网相关资源

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