一.上电后的初始化
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