STM32 Bootloader理解

STM32 Bootloader个人理解

stm32单片机启动时会先运行一个引导程序Bootloader,该程序可以判断单片机的启动方式,例如stm32f103单片机会利用 boot0 、boot1 两个引脚判断启动模式。判断完启动模式后,设置 SP地址 以及 PC 指针指向对应的地址。当我们的启动方式选择为从flash中启动,那么它会把我们的 PC 指针设置为 0x08000004。

当我们设置好 MDK 中的程序存储的位置后,程序就是从该路径开始保存,同时中断向量表的位置也是从该位置进行保存。


因此从 bootloader 退出时执行启动文件,PC = 0x08000004,会执行中断向量表中的复位中断程序,由复位中断程序跳转到我们的 main 函数中,从而进入到 c 的世界。

若是我们设置 MDK 的 flash 地址为 0x08001000 时,那么我们的中断向量表也会设置到 0x08001000 ,复位中断程序地址在 0x08001004 中保存;从 bootloader 退出时执行启动文件,PC = 0x08000004 并不能找到复位中断程序,程序会卡住。

相关推荐
LCG元5 小时前
STM32项目实战:基于STM32F103的智能农业监控系统
stm32·单片机·嵌入式硬件
ACP广源盛139246256735 小时前
IX8024与科学大模型的碰撞@ACP#筑牢科研 AI 算力高速枢纽分享
运维·服务器·网络·数据库·人工智能·嵌入式硬件·电脑
一起搞IT吧6 小时前
Android性能系列专题理论之十:systrace/perfetto相关指标知识点细节含义总结
android·嵌入式硬件·智能手机·性能优化
Truffle7电子7 小时前
STM32CubeIDE/Programmer/Touch GFX 应用
stm32·单片机·嵌入式硬件
constant_LDX8 小时前
步进电机开发(一、硬件设计)
单片机·嵌入式硬件
北山有鸟8 小时前
修改源码法和插件法
嵌入式硬件·学习
richxu202510018 小时前
嵌入式学习之路->stm32篇->(14)通用定时器(上)
stm32·单片机·嵌入式硬件·学习
Deitymoon8 小时前
STM32——串口通信(USART)
单片机·嵌入式硬件
iCxhust8 小时前
微机原理实践教程(C语言篇)---A002流水灯
c语言·开发语言·单片机·嵌入式硬件·51单片机·课程设计·微机原理
Deitymoon10 小时前
STM32——外部中断按键控制led
stm32·单片机·嵌入式硬件