ARM Cortex-M3 PC 加载了无效地址?



在具有128kB闪存(0x0-0x0001FFFF(和20kB SRAM(0x20000000-0x20004FFF(的设备上,为什么PC(程序计数器(将设置为0x1001xxxx范围内的地址?

  • 我是否正在查看不正确的拆卸?
  • ARM内核是否使用了"特殊"位?
  • 这是对我尚未找到文档的闪存区域的访问吗?
  • ...?

低于0x20000000的任何内容都是 Cortex-M 的有效代码地址空间。这可以实现为 ROM、闪存或重新映射的 RAM - 它完全特定于设备。

如果是在启动后立即,某种类型的 ROM 不会不足为奇,但更好的答案将需要设备的更多详细信息以及发生这种情况的确切时间......