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

基于stm32F1启动过程经验分享

[复制链接]
攻城狮Melo 发布时间:2023-5-14 18:52
STM32启动模式( [8 K$ v- o( I! ?+ T% x
M3/M4/M7等内核复位后,做的第一件事:) |6 h5 U2 u% e* e' K
1.从地址 0x0000 0000 处取出 堆栈指针 MSP 的初始值,该值为栈顶地址2.从地址 0x0000 0004 处取出程序计数器指针 PC 的初始值,该值是复位向量(Reset_Hander)
! p) Q( Z+ o, n5 `
通过BOOT0和BOOT1两个引脚的输入选择启动模式) I5 X/ |% s! y  C
在系统复位后,sysclk的第4个上升沿,BOOT引脚的值将被锁存(锁存后该引脚的值改变不影响已选择模式)% B3 v  c; T! i
, D4 J9 e* G/ \5 Q. Z
U4(38()3`0{E30}3{@G28%O.png + H& e: V$ N3 R: y

8 W; k- y+ w, h; S0 D6 L9 h: Y; BSTM32三种启动模式对应的存储介质均是芯片内置的,它们是:) x0 a; g) R: ~- _7 k+ U
1.用户闪存 = 芯片内置的Flash。从用户闪存启动,这是正常的工作模式。
7 h/ x3 i4 Y7 \2.SRAM = 芯片内置的RAM区,就是内存啦。从内置SRAM启动,这种模式可以用于调试
% b+ z  C9 p3 [3.系统存储器 = 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM区。 从系统存储器启动,这种模式启动的程序功能由厂家设置。
1 @7 O6 k# M) N" h6 _# H1 v' a4 g9 P* _3 b( j5 `' u  _) J( N
STM32启动过程(以内部flash启动为例)  `# y: [& i8 k. k
总体概述:0 C! Q% O, T+ {- Y) j
% s8 ^/ v+ X# I# ?2 L
011d8df70cb84a3b9a294c2d5865b7b2.png
5 }0 E( B6 r. e
6 o7 Q8 v$ H7 v& ]( M+ E% n启动文件功能
& z' {3 b0 |4 |' u" d4 K启动文件由汇编编写,是系统上电复位后第一个执行的程序。
! t. Q6 o' d9 x0 L9 F启动文件主要做了以下工作:
9 W* j( H. \; l/ S7 ~初始化堆栈指针 SP = _initial_sp (从 0x8000 0000 获取)
6 R! k0 k5 p7 U/ V2 E* Z! Y初始化程序计数器指针 PC = Reset_Handler (从 0x8000 0004 获取)
) V. a8 ]. ^  @3 Q& _/ s$ ^7 `$ q' W设置堆和栈的大小 Heap_Size(堆)、Stack_Size(栈)# F; P3 j2 Y, Q' n' z
初始化中断向量表+ J) T& q, F, i6 b$ ~# @, i( _
配置外部 SRAM 作为数据存储器(可选)
1 |0 n2 I5 u* c$ B配置系统时钟,通过调用 SystemInit 函数(可选)
/ A1 M2 m0 c; S$ }调用 C 库中的 _main 函数初始化用户堆栈,最终调用 main 函数
0 p; U* T: p0 z, h
9 L' f0 u% N0 [2 W# b  m$ d# H
启动文件常用汇编指令及说明
0 }! Q+ C4 U# W) U2 Z/ ]' q1 A" ^+ O. o; N) Y0 J0 \$ D! F$ G
(8J0XMW2(]ELJ1~]9SU2BOD.png " T, a0 Y: y; J. W* H
W_T5)296@FI$D{Y2HJ1ELO9.png
, f7 h$ I! {# E# G
6 U6 U3 U% u1 ]0 a————————————————( l) U: `7 w6 y
版权声明:up up day% w5 C7 P0 p; V8 [6 y" [$ l0 }
如有侵权请联系删除
6 n0 g3 S9 f: W7 ~' o9 T6 i) L' E5 F2 }$ ]- K
  _# j. S6 E; p  S0 w

) l( u6 a2 R4 F
# t, L3 b6 I2 z/ X4 `
收藏 评论0 发布时间:2023-5-14 18:52

举报

0个回答

所属标签

相似技术帖

官网相关资源

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