哪些部分的的ARMv4 / 5/6 code将无法在ARMv7的工作吗? [英] What parts of ARMv4/5/6 code will not work on ARMv7?

查看:239
本文介绍了哪些部分的的ARMv4 / 5/6 code将无法在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆