内核规范
ARM Cortex-M/R 内核的复位启动过程也被称为复位序列(Reset Sequence)。ARM Cortex-M/R 内核的复位启动过程与其他大部分 CPU 不同,也与之前的 ARM 架构(ARM920T、ARM7TDMI 等)不相同。大部分 CPU 复位后都是从 0x00000000 处取得第一条指令开始运行的,然而在 ARM Cortex-M/R 内核中并不是这样的。其复位序列为:
- 从地址 0x0000_0000 处取出 MSP 的初始值;
- 从地址 0x0000_0004 处取出 PC 的初始值,然后从这个值对应的地址处取指令。事实上,地址 0x00000004 开始存放的就是默认中断向量表
ARM Cortex-M/R 内核的中断向量表布局情况如下图所示(注意:中断向量表的中中断位置可以改变,此处是默认情况下的设置):
在 ARM Cortex-M/R