ARMv4/5/6 代码的哪些部分无法在 ARMv7 上运行?

2023-11-22

据我了解,ARMv7 处理器(例如 Cortex-A9)大多向后兼容旧版 ARM 架构版本的代码。不过,我读过相关报道尝试在 Cortex-A8 上运行 ARM9 代码时出现段错误, 例如。

ARMv4/5/6 (ARM7TDMI/ARM9/ARM11) 代码的哪些部分无法在 ARMv7 处理器上运行?这些较旧的 ARM 架构版本中存在哪些功能或架构特征可能会导致为这些版本构建的程序在 ARMv7 上失败?


对于应用程序代码来说,主要问题是未对齐的内存访问。在 ARMv4 之前以及在 ARMv4 到 ARMv6 上可配置的情况下,来自未对齐地址的 LDR 加载将导致读取数据轮换,并且其他内存访问的行为就像地址的最低有效 2 位为零一样。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ARMv4/5/6 代码的哪些部分无法在 ARMv7 上运行? 的相关文章

随机推荐