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 并不能找到复位中断程序,程序会卡住。

相关推荐
LCMICRO-133108477465 小时前
长芯微LPS123完全P2P替代ADP123,高性能、低压差的线性稳压器
单片机·嵌入式硬件·fpga开发·硬件工程·dsp开发·线性稳压器
守护安静星空7 小时前
esp32开发笔记-工程搭建
笔记·单片机·嵌入式硬件·物联网·visual studio code
ACP广源盛139246256737 小时前
破局 Type‑C 切换器痛点@ACP#GSV6155+LH3828/GSV2221+LH3828 黄金方案
c语言·开发语言·网络·人工智能·嵌入式硬件·计算机外设·电脑
时空自由民.8 小时前
ST7701S 3.5寸显示屏
单片机
金戈鐡馬9 小时前
BetaFlight中的定时器引脚绑定详解
stm32·单片机·嵌入式硬件·无人机
Wave84510 小时前
FreeRTOS软件定时器详解
stm32·单片机·freertos
VBsemi-专注于MOSFET研发定制10 小时前
奶茶制作机器人功率MOSFET选型方案——高效、精准与可靠驱动系统设计指南
单片机·嵌入式硬件
水云桐程序员12 小时前
单片机项目从入门到精通
单片机·嵌入式硬件
Wave84512 小时前
STM32 裸机中断与 FreeRTOS 中断管理的四大核心差异
单片机·嵌入式硬件
若忘即安13 小时前
【硬件电路设计18】WIFI+BlueTooth
单片机·嵌入式硬件