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

基于stm32F1启动过程经验分享

[复制链接]
攻城狮Melo 发布时间:2023-5-14 18:52
STM32启动模式9 t1 v8 S- U" ]" H. |
M3/M4/M7等内核复位后,做的第一件事:% `/ Z7 S7 ?4 i* Y" R! D
1.从地址 0x0000 0000 处取出 堆栈指针 MSP 的初始值,该值为栈顶地址2.从地址 0x0000 0004 处取出程序计数器指针 PC 的初始值,该值是复位向量(Reset_Hander)1 y0 x; ?! ]) W- W; n+ J, X
通过BOOT0和BOOT1两个引脚的输入选择启动模式, [5 f9 s+ ~( U. X+ ^4 ^0 e
在系统复位后,sysclk的第4个上升沿,BOOT引脚的值将被锁存(锁存后该引脚的值改变不影响已选择模式)
0 r, ^1 T, F: x6 B7 }4 ], {$ g; m' J4 Q3 a8 n7 |! t  E
U4(38()3`0{E30}3{@G28%O.png
; J6 x7 _# U! ^# H$ S' z& G* X4 d) x7 V4 X- w. ~4 H' f7 S) A
STM32三种启动模式对应的存储介质均是芯片内置的,它们是:3 \2 c) V3 m* y2 H0 I0 H# g
1.用户闪存 = 芯片内置的Flash。从用户闪存启动,这是正常的工作模式。4 ~' Y9 E2 D$ D* e6 d0 p
2.SRAM = 芯片内置的RAM区,就是内存啦。从内置SRAM启动,这种模式可以用于调试% J0 O. v1 ?9 `4 B
3.系统存储器 = 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM区。 从系统存储器启动,这种模式启动的程序功能由厂家设置。
- V% U, J8 S/ c$ `4 o4 n! X2 |
8 w) i. P2 q6 t0 K+ B' k+ k3 M
STM32启动过程(以内部flash启动为例)- M1 `+ ], t% s# R6 B
总体概述:& F, C- p& S3 o5 w
) Y) L( Z4 q/ i4 T" A) N
011d8df70cb84a3b9a294c2d5865b7b2.png
7 w6 a4 n, Z* q) [; T7 O7 V6 ]
. p! q3 A( X! Y0 e启动文件功能! Z' d4 v% V/ n3 ~& n% \
启动文件由汇编编写,是系统上电复位后第一个执行的程序。* o7 j. a1 u! ?0 C
启动文件主要做了以下工作:
, O/ _" N  f1 p+ t( x0 N初始化堆栈指针 SP = _initial_sp (从 0x8000 0000 获取)
; d  Y3 _3 t/ b* R% I+ a初始化程序计数器指针 PC = Reset_Handler (从 0x8000 0004 获取)* u: L' P! W% j6 {1 [/ }* x3 {. V
设置堆和栈的大小 Heap_Size(堆)、Stack_Size(栈): ?9 n& k$ P# ^# T6 C
初始化中断向量表9 Z; t0 X# m) E, m: i, `
配置外部 SRAM 作为数据存储器(可选)* M& ?8 Z% o0 Y0 V9 |/ R
配置系统时钟,通过调用 SystemInit 函数(可选)
* K( Y0 B. u5 |" w; E调用 C 库中的 _main 函数初始化用户堆栈,最终调用 main 函数+ c9 e( [% C) L" q/ o% J0 f1 [
& ~8 p% N; i( c) m. s, \  A
启动文件常用汇编指令及说明5 X$ m3 x8 u% M; _1 n* d

9 i4 i- n  \* {) J (8J0XMW2(]ELJ1~]9SU2BOD.png
+ m2 O' ~% n2 C5 D# P5 J W_T5)296@FI$D{Y2HJ1ELO9.png 5 W) z% {" v) J
  A* N7 \, X: q" M4 Q
————————————————" P, _! ]2 Y7 t* W: J! V" ^- v
版权声明:up up day
& A6 ^0 A; k# Z$ l+ p6 f: Q如有侵权请联系删除# A( Q" x) s  u) V& ^

. g/ s" K; F2 G, M; N1 O% T+ W5 k
2 [, n) P" [7 p# ^. n2 V, L' U' x2 Y$ \: r
# X$ |2 T+ y  g$ {3 i0 o) d
赞 收藏 评论0 发布时间:2023-5-14 18:52

举报

0个回答

所属标签

相似技术帖

官网相关资源

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