在启动代码的情况下,如何在 cortex m3 中执行复位序列?

How the reset sequence is carried out in cortex m3 in case of boot code?

掌握 cortex m3 中的各种故障处理程序后 现在我正在研究重置序列和重置处理程序。 正常情况下上电复位后。 PC 指向存储初始 msp 值的 0x00000000 然后在 0x00000004 处保留复位向量 意味着在初始化 msp 重置处理程序后被调用。

在启动代码的情况下,重置顺序如何以及向量 table 在启动过程后如何重新定位

无论代码是什么运行,处理器的重置顺序都是相同的。通常,引导代码可能会选择重新定位向量 table,这是使用 "Vector Table Offset Register" 完成的。向量 table 可以重新定位到 RAM 中的某个位置或另一个 ROM 位置。引导代码必须至少定义初始主堆栈指针值、复位向量地址、NMI 向量地址和硬故障地址。最后两个因为它们可能发生在引导过程中。