Cortex M3 从上电开始的操作顺序(精确到第一个机器周期)
Cortex M3 sequence of operations from power ON(Precisely from 1st machine cycle)
我知道第一个引导代码被执行,然后如果控制器没有保存在 ISP 和 CRP 中,它会转到用户代码,向量 table(加载 SP 和 PC)。
你能具体说明它是如何进入引导代码的吗?请提供是否有可用的文件
要查找的位置是在 Cortex-M3 微控制器的参考手册中,特别是有关重置 and/or 引导行为的部分。由于您询问的是 NXP 微控制器,因此我将以 LPC176x/5x User Manual 为例。
第 3.4 节 "Reset" 声明当内部复位无效时,2 位 IRC(内部振荡器)唤醒计数器开始,一旦超时,处理器开始从只读存储器。由于 ROM 位于固定地址,因此 CPU 可能是硬连线以跳转到引导代码。
当然,这因微控制器而异。例如,ST 的 STM32 系列 Cortex-M3 微控制器似乎在复位后几乎立即执行用户代码,特别是在 SYSCLK 的第 4 个周期。
我知道第一个引导代码被执行,然后如果控制器没有保存在 ISP 和 CRP 中,它会转到用户代码,向量 table(加载 SP 和 PC)。 你能具体说明它是如何进入引导代码的吗?请提供是否有可用的文件
要查找的位置是在 Cortex-M3 微控制器的参考手册中,特别是有关重置 and/or 引导行为的部分。由于您询问的是 NXP 微控制器,因此我将以 LPC176x/5x User Manual 为例。
第 3.4 节 "Reset" 声明当内部复位无效时,2 位 IRC(内部振荡器)唤醒计数器开始,一旦超时,处理器开始从只读存储器。由于 ROM 位于固定地址,因此 CPU 可能是硬连线以跳转到引导代码。
当然,这因微控制器而异。例如,ST 的 STM32 系列 Cortex-M3 微控制器似乎在复位后几乎立即执行用户代码,特别是在 SYSCLK 的第 4 个周期。