Step1. STM32上电复位/按键复位
此时内核处于已知状态:
- PC = 0x0000 0000
- 所有寄存器为默认值,Flash 等待周期按出厂设定
1. 硬件复位序列(芯片自动完成)
Step2. 取第一个字:主堆栈顶(MSP)
内核从 0x0000 0000 读出 32 位数值(也就是4个字节),装入 MSP(该值实际存放在 Flash 0x0800 0000,通过地址别名映射到 0x0000 0000。)
Step3. 取第二个字:复位向量
从 0x0000 0004 读出 Reset_Handler (程序的入口)地址,跳转到该地址,开始执行用户代码
2. 运行启动文件

Step4. 调用SystemInit:使能 FPU、配置 RCC 时钟树、重映射中断向量表(写 SCB->VTOR)
Step5. 调用main