Unterschied zwischen ARM64, ARMel und ARMhf

Unterschied zwischen ARM64, ARMel und ARMhf

Ich versuche, ein Debian-Image für einen ARM Cortex-A7-Prozessor herunterzuladen, kann aber nicht herausfinden, welches Image ich herunterladen soll. Ich habe nachgesehen aufdie Debian-Website, und sehen Sie drei verschiedene Downloads für ARM-Prozessoren. Was ist der Unterschied zwischen ihnen und welchen sollte ich herunterladen?

Antwort1

Der Wikipedia-Artikelbesagt, dass diese CPU die „ARMv7-A“-Architektur implementiert.

Dasund der Titel vonDasschlage vor, dass Sie es brauchen armhf.

Es scheint auch, dass Banana Pi Cortex-A7 verwendet und ausdrücklich von Debian unterstützt wird. Einige Leute bieten sogar eineoptimierter Jessie-Umbau.

Antwort2

Der ARM EABI-Port (armel) zielt auf eine Reihe älterer 32-Bit-ARM-Geräte ab, insbesondere auf solche, die in NAS-Hardware und einer Vielzahl von *plug-Computern verwendet werden.

Der neuere ARM-Hard-Float-Port (armhf) unterstützt neuere, leistungsfähigere 32-Bit-Geräte mit Version 7 der ARM-Architekturspezifikation.

Der 64-Bit-ARM-Port (arm64) unterstützt die neuesten 64-Bit-ARM-Geräte.

Quelle

Obwohl diese Frage aus dem Jahr 2015 stammt, ist sie möglicherweise trotzdem nützlich zu wissen.

Antwort3

Um das Debian-Angebot zu erklären, sind also ein paar Hintergrundinformationen erforderlich.

Sie sprechen von den Namen der offiziellenARM-Anschlüsse. Wie Sie sehen, entsprechen sie einem bestimmten Triplett aus ISA, OS undABIOptionen. Diese wiederum sind das kleinste gemeinsame Vielfache, das die Softwarekompatibilität der kompilierten Pakete sicherstellen kann.

Abgesehen vom offensichtlichen Arm64-Build (unter Ausnutzung der64-Bit-Modusvon einigen ARMv8-CPU), ich denke, wie die meisten Verwirrung entsteht aus den anderen, alle beginnen mitarm-linux-.

EinmalEs gab einmal tatsächlich nur ein einziges "Arm"-Ziel, aber aus einer Reihe von Gründen, die vonByte-ReihenfolgeZuGleitkommaunterstützungUndLeistunges ist veraltet.EingebetteteABI(ein ziemlich leerer Name, wenn Sie mich technisch fragen, aber ARMnennt es)-Spezifikation und hat diese seitdem problemlos ersetzt.

Armelist nichts anderes als ein neuer Name, um zwischen der alten Version und der Arm-Big-Endian-Version (damals inoffiziell, jetzt ganz aufgegeben) zu unterscheiden. Es sollte berücksichtigt werdenDieEs ist das einfachste und sollte auf praktisch jeder Hardware laufen, die es gibt.

Andererseits, wenn Ihr Prozessor eine FPU hat, die nicht verwendet wird. Vor ARMv8 gab es keine Garantie dafür, dass dies unterstützt wird (die Mehrheit derv7-A-Kernetat, aber die Situation ist schlimmer, je weiter man mit der Zeit zurückfällt), "maximale Kompatibilität" bedeutet, dass alle zugehörigen Anweisungen auf die glibc-Soft-FP-Bibliothek verwiesen werden (nicht zu verwechseln mit derSoftfp Float-ABIFlag), nicht VFP.

Und aus diesem Grund wurde letztendlich Armhf erstellt. Userspace ist zwar nicht linkkompatibel, aber Sie erhalten so viel Geschwindigkeit wie möglich. Allerdings hinderte sie nichts daran, stattdessen das oben erwähnte Softfp zu verwenden (wie es beispielsweise Android tut), was sowohl Kompatibilität als auch einefastuneingeschränkter Zugriff auf Gleitkomma-Hardware.

verwandte Informationen