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

【经验分享】STM32F1启动方式

[复制链接]
STMCU小助手 发布时间:2021-11-30 21:10
1. stm32f103的3种启动方式:
% e! h) t9 w" W4 s2 H$ a) l; b所谓启动,一般来说就是指我们下好程序后,重启芯片时,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存。用户可以通过设置BOOT1和BOOT0引脚的状态,来选择在复位后的启动模式。
0 g5 m8 {2 C! M8 s' _9 o6 z7 T. L9 w' ~+ [2 v. C. Y
20191218191617422.png

0 h1 i, w0 X1 Q- J, e5 a
* G7 D" q+ M, R, t( l% ?( D$ u6 ZMain Flash memory- B4 Y) V- y" g! K: `( N7 m$ X
是STM32内置的Flash,一般我们使用JTAG或者SWD模式下载程序时,就是下载到这个里面,重启后也直接从这启动程序。
1 r- O1 n) Z, D% ySystem memory
4 U- I# ~* C& [3 ^7 X' l从系统存储器启动,这种模式启动的程序功能是由厂家设置的。一般来说,这种启动方式用的比较少。系统存储器是芯片内部一块特定的区域,STM32在出厂时,由ST在这个区域内部预置了一段BootLoader, 也就是我们常说的ISP程序, 这是一块ROM,出厂后无法修改。一般来说,我们选用这种启动模式时,是为了从串口下载程序,因为在厂家提供的BootLoader中,提供了串口下载程序的固件,可以通过这个BootLoader将程序下载到系统的Flash中。但是这个下载方式需要以下步骤:
, d. K# a: B! Q' h9 S9 xStep1:; u" u3 ~0 K: Y- f& H! g; }
将BOOT0设置为1,BOOT1设置为0,然后按下复位键,这样才能从系统存储器启动BootLoader) A  d- E' E: L0 d* e/ A- ^% s
Step2:* x2 S: W6 u: {  N! ^
最后在BootLoader的帮助下,通过串口下载程序到Flash中
" l# ?# Z" x. G: pStep3:3 w; Q: v& u  d) H% ?( k) J. Z
程序下载完成后,又有需要将BOOT0设置为GND,手动复位,这样,STM32才可以从Flash中启动可以看到, 利用串口下载程序还是比较的麻烦, 需要跳帽跳来跳去的,非常的不注重用户体验。正点原子的串口下载电路:8 W4 x' j' d# z2 R
) h9 V! k* }5 N* D- L
20191218191827422.png
9 l  s) r5 [, F
% w, [7 P* a1 N; f
STM32 启动过程:
7 c8 l  ^/ N2 l: l7 eSTM32的内部闪存(flash)地址起始于0x08000000,一般情况下,程序文件就从地址开始写入,此外STM32是基于Cortex-M3内核的微控制器,其内部通过一张中断向量表来响应,程序启动后,首先从"中断向量表"取出复位中断向量,执行复位中断程序完成启动,而这张"中断向量表"的起始地址是0x8000004,当中断来临,STM32的内部硬件机制会自动将PC指针定位到中断向量表处,并根据中断源取出对应的中断向量执行中断服务程序。
; C' v9 s% Q! l9 H* n; X在图53.1.1,STM32 在复位后,先从0x08000004地址取出复位中断向量的地址,并跳转到复位中断服务程序,如题彪了(1)所示,在复位中断执行完后,会跳转到我们的main函数。 在图53.1.1,STM32 在复位后,先从0x08000004地址取出复位中断向量的地址,并跳转到复位中断服务程序。3 u4 F$ m, v. L  c
然后,根据中断源进入相应的中断服务程序,如图标号4所示,在执行完中断服务以后,程序再次返回main函数执行,如图标号5所示
2 a, B1 {4 c+ k3 E( W2 ~& Z8 s/ b! x- W
2019121819205320.png

  E8 ?; B" ]0 ?& g& s( [+ B8 v1 E6 v
赞 收藏 评论0 发布时间:2021-11-30 21:10

举报

0个回答

所属标签

相似技术帖

官网相关资源

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