ARM64、ARMel 和 ARMhf 之间的区别

ARM64、ARMel 和 ARMhf 之间的区别

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

答案1

维基百科文章表示这款 CPU 实现了“ARMv7-A”架构。

以及标题建议你需要armhf

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

答案2

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

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

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

来源

尽管这个问题是 2015 年末提出的,但了解一下可能仍然有用。

答案3

因此,解释 Debian 的提议需要一些背景知识。

你所说的是其官员的名字ARM 端口。如你所见,它们对应于 ISA、OS 和澳大利亚商业信息局选项。这些又是可以确保编译包的软件兼容性的最小公倍数。

抛开不言而喻的 Arm64 构建(利用64 位模式一些 ARMv8 CPU),我想大多数困惑都来自于其他的,都是从arm-linux-

一次曾经,实际上只有一个“手臂”目标,但由于多种原因,字节顺序浮点支持表现它已经过时了。嵌入式ABI(从技术角度来说,这个绰号很空洞,但 ARM称之为) 规范已经完美地取代了它。

阿梅尔只不过是一个新名字,用来区分旧版本和 arm big-endian(当时是非官方的,现在已经完全废弃)版本。应该考虑最基本的,它应该可以在任何硬件上运行。

另一方面,如果你的处理器有一个 FPU,它不会被使用。鉴于在 ARMv8 之前,没有保证支持它(大多数v7-A 核心确实如此,但随着时间的推移,情况会变得越来越糟糕),“最大兼容性”意味着任何相关指令都将被引用到 glibc soft-fp 库(不要与softfp float abi标志)而不是 VFP。

这就是 Armhf 最终诞生的原因。用户空间再次不兼容链接,但您可以获得尽可能快的速度。尽管没有什么可以阻止他们使用前面提到的 softfp(例如 Android 所做的那样),但可以兼顾兼容性和几乎不受损害地访问浮点硬件。

相关内容