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

相关推荐
代码总长两年半14 分钟前
STM32---FreeRTOS消息队列
stm32·单片机·嵌入式硬件
触角010100011 小时前
STM32 I2C驱动开发全解析:从理论到实战 | 零基础入门STM32第五十步
驱动开发·stm32·单片机·嵌入式硬件
赴遥3 小时前
ESP32S3N16R8驱动ST7701S屏幕(vscode+PlatfoemIO)
vscode·单片机·esp32·st7701s
沐欣工作室_lvyiyi3 小时前
基于单片机的防火防盗报警系统设计(论文+源码)
人工智能·stm32·单片机·嵌入式硬件·物联网·目标跟踪
廿二松柏木3 小时前
三级嵌入式学习ing 考点25、26
单片机·嵌入式硬件·学习
技术干货贩卖机4 小时前
0基础 | 看懂原理图Datasheet 系列1
笔记·stm32·单片机·嵌入式硬件·学习
-一杯为品-5 小时前
【51单片机】程序实验16.DS1302时钟
嵌入式硬件·mongodb·51单片机
柒十三.5 小时前
江科大51单片机笔记【14】直流电机驱动(PWM)
笔记·嵌入式硬件·51单片机
星光始终闪耀6 小时前
第十一届蓝桥杯单片机国赛
单片机·蓝桥杯
待什么青丝7 小时前
【TMS570LC4357】之工程创建
c语言·单片机