Bootloader跳转APP代码流程

一.上电后的初始化

1.单片机引导flash启动

可参考这个链接
https://blog.csdn.net/zlf19910726/article/details/127306237

2.从flash起始地址取出MSP的初始值,用于分配栈顶空间

3.从flash起始地址+4的地址取出值赋给PC寄存器,这个值是Reset_Handler复位函数的地址,然后从这个地址运行程序

4.调用SystemInit

5.调用__main

运行main函数

二.跳转流程

1.指定新的Reset_Handler复位函数的地址

2.指定新的栈指针

3.关闭中断

把所有Bootloader中断关闭,防止影响新的APP

4.跳转复位函数

5.APP初始化代码重新打开所有中断

相关推荐
小僧景贤9 分钟前
STM32 工程文件深度解析(Keil‑MDK + STM32CubeIDE)
stm32·单片机·stm32cubeide
国科安芯1 小时前
低轨卫星姿态与轨道控制系统中高可靠MCU的选型研究——基于AS32S601的抗辐照性能试验数据分析
分布式·科技·单片机·嵌入式硬件·系统架构
小羊先生car2 小时前
RTOS-F429-HAL-Freertos内存管理(2026/8/5)
c语言·单片机·rtos
zcmodeltech4 小时前
工业生产线沙盘模型多段灯带时序控制系统设计:基于STM32与Modbus RTU的连铸-热轧-镀锌全流程联动方案
stm32·单片机·嵌入式硬件·物联网·制造·嵌入式实时数据库·多分类
小僧景贤5 小时前
STM32F407 时钟系统超详解
stm32·单片机·嵌入式硬件
西城微科方案开发6 小时前
胎压计方案开发
单片机·嵌入式硬件
国科安芯6 小时前
卫星星务计算机数据管理中SEU容错机制的技术实现研究——以AS32S601存储器ECC架构为例
网络·单片机·算法·fpga开发·架构·云计算·risc-v
JckOLF04Z6 小时前
自动开机调用迅雷下载数据库备份,完成后自动关机
数据库·单片机·嵌入式硬件
国科安芯6 小时前
卫星电推进系统阀门驱动控制中的宽温域高可靠MCU应用研究——基于AS32S601电气特性与辐照试验数据的工程分析
单片机·嵌入式硬件·fpga开发·云计算·信息与通信·卫星·抗辐射芯片
Hello_Damon_Nikola8 小时前
CZL-601微型称重传感器从入门到精通
单片机·嵌入式硬件