哪些部分的的ARMv4 / 5/6 code将无法在ARMv7的工作吗? [英] What parts of ARMv4/5/6 code will not work on ARMv7?
问题描述
这是我的理解是ARMv7的处理器,如在Cortex-A9,与code为老年人ARM架构的版本大多是向后兼容的。不过,我读过段错误尝试在Cortex-A8的,例如
It is my understanding that ARMv7 processors, such as the Cortex-A9, are mostly backwards-compatible with code for older ARM architecture versions. However, I've read reports of segfaults trying to run ARM9 code on a Cortex-A8, for example.
什么ARM版本的零件/ 5/6(ARM7TDMI / ARM9 / ARM11)code不会上的ARMv7处理器的工作?哪些功能或建筑特征,可能会导致专为这些版本的失败对ARMv7的程序这些旧ARM架构的版本存在?
What parts of ARMv4/5/6 (ARM7TDMI/ARM9/ARM11) code will not work on an ARMv7 processor? What features or architectural characteristics exist in these older ARM architecture versions that can cause a program built for these versions to fail on ARMv7?
推荐答案
有关申请code的主要问题是未对齐的内存访问。的ARMv4前及的ARMv4配置为从一个未对齐地址的ARMv6一个LDR负载将在所读取的数据被旋转,并且其它存储器存取充当如果至少显著2位是零。
For application code the principal problem is unaligned memory accesses. Before ARMv4 and configurable on ARMv4 to ARMv6 a LDR load from an unaligned address would in the read data being rotated, and other memory access act as if least significant 2 bits are zero.
这篇关于哪些部分的的ARMv4 / 5/6 code将无法在ARMv7的工作吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!