gpt4 book ai didi

arm - 为什么 Cortex-A 的复位处理程序位于 0x0 而不是 Cortex-M3

转载 作者:行者123 更新时间:2023-12-01 08:56:43 32 4
gpt4 key购买 nike

Cortex-M3 的初始堆栈指针值位于 0x0 且复位处理程序位于 0x4 的原因是什么?这样做的设计理由是什么?

为什么 ARM 人员不能像对待 Cortex-A 那样将 0x0 留给重置处理程序,然后在重置处理程序中初始化 SP?

最佳答案

我认为这属于“这不是错误,而是一项功能”横幅。

ARM 架构 M(微 Controller )配置文件具有与 A 和 R 配置文件完全不同的异常模型。 A 配置文件(如 R 配置文件)保留与以前的 ARM 处理器的向后兼容性。 M-profile 被允许偏离这一点,因此被设计成更容易完全从 C/C++(没有 asm)编程。

因此向量条目包含地址而不是指令,一旦你这样做了,为什么不以同样的方式设置 SP?它还会在异常进入时自动保存状态。

关于arm - 为什么 Cortex-A 的复位处理程序位于 0x0 而不是 Cortex-M3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27189442/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com