“请注意M3系列内核与早期的ARM9/ARM11的启动动作不同”
一、Cortex-M3的基本启动动作
STM32基于ARM的Cortex-M3内核设计,Cortex-M3在复位释放后,自动将0x00000000地址存储的4个字节的数据读入栈指针MSP作为栈顶指针,自动将0x00000004地址存储的4个字节的数据读入程序指针PC作为起始执行地址,中断向量偏移量寄存器此时为全0,即无偏移,指向0x00000000地址。
二、STM32的启动模式
STM32支持3种启动模式,由复位释放后的一段时间内锁存到的Boot[1:0]数据决定,Boot[1:0]=x0时,为普通模式(从片内Flash启动);Boot[1:0]=01时,为ISP模式(从系统存储器启动,载入ISP Bootloader);Boot[1:0]=11时,为RAM启动模式(从RAM启动)。