ARM64、ARMel 和 ARMhf 的区别

Kri*_*rii 22 debian arm

我正在尝试为 ARM Cortex-A7 处理器下载 Debian 映像,但我不知道要下载哪个映像。我查看了 Debian 网站,看到了三种不同的 ARM 处理器下载。它们之间有什么区别,我应该下载哪一个?

小智 35

ARM EABI (armel) 端口针对一系列较旧的 32 位 ARM 设备,特别是那些用于 NAS 硬件和各种 *plug 计算机的设备。

较新的 ARM 硬浮点 (armhf) 端口使用 ARM 架构规范的第 7 版支持更新、功能更强大的 32 位设备。

64 位 ARM (arm64) 端口支持最新的 64 位 ARM 驱动的设备。

来源

尽管这个问题是从 15 年末开始的,但了解它可能仍然有用。


mir*_*irh 12

所以.. 解释 Debian 报价需要一些背景知识。

你所说的是其官方ARM 端口的名称。如您所见,它们对应于 ISA、OS 和ABI选项的特定三元组。这些反过来是可以确保编译包的软件兼容性的最小公倍数。

撇开不言自明的 Arm64 构建(利用某些 ARMv8 cpu的64 位模式),我想大多数混淆都来自其他构建,所有这些都是从arm-linux- 开始的

曾几何时,实际上只有一个“arm”目标,但由于从字节顺序浮点支持性能等多种原因,它已经过时了。EmbeddedABI(从技术上讲,如果你问我,这是一个非常空洞的绰号,但 ARM称它为)规范已经完美地取代了它。

Armel只不过是一个新名称,用于区分旧版本和 arm big-endian(当时是非官方的,现在完全废弃)。它应该被认为最基本的,它应该可以在阳光下的任何硬件上运行。

但另一方面,如果您的处理器有一个不会被使用的 FPU。鉴于在 ARMv8 之前,不能保证支持它(大多数v7-A 内核都支持,但随着时间的推移情况更糟),“最大兼容性”需要任何相关指令都被引用到 glibc soft -fp 库(不要与softfp float-abi标志混淆),而不是 VFP。

这就是最终创建 Armhf 的原因。用户空间再次与链接不兼容,但您正在获得尽可能快的速度。尽管没有什么能阻止他们使用前面提到的 softfp(例如 Android 所做的),但允许兼容性和对浮点硬件的几乎不妥协的访问。


kos*_*tix 5

维基百科文章说这个 CPU 实现了“ARMv7-A”架构。

这个称号和这个建议,你需要armhf

似乎 Banana Pi 使用 Cortex-A7 并且得到了 Debian 的明确支持——有些人甚至提供了优化的 Jessie 重建