Разница между ARM64, ARMel и ARMhf

Разница между ARM64, ARMel и ARMhf

Я пытаюсь загрузить образ Debian для процессора ARM Cortex-A7, но не могу понять, какой образ загрузить. Я посмотрел навеб-сайт Debian, и вижу три разных загрузки для процессора ARM. В чем разница между ними и какую из них мне следует загрузить?

решение1

Статья в Википедииговорится, что этот процессор реализует архитектуру «ARMv7-A».

Этоти названиеэтотпредложить вам нужно armhf.

Также, похоже, что Banana Pi использует Cortex-A7 и явно поддерживается Debian — некоторые даже предоставляютоптимизированная перестройка Джесси.

решение2

Порт ARM EABI (armel) предназначен для ряда старых 32-разрядных устройств ARM, в частности тех, которые используются в оборудовании NAS и различных компьютерах с *plug.

Новый порт ARM hard-float (armhf) поддерживает более новые и мощные 32-разрядные устройства, использующие версию 7 спецификации архитектуры ARM.

64-битный порт ARM (arm64) поддерживает новейшие 64-битные устройства на базе ARM.

Источник

Хотя этот вопрос задан еще в конце 2015 года, он все равно может быть полезен.

решение3

Итак... для объяснения предложения Debian требуется немного предыстории.

То, о чем вы говорите, это имена его официальных лиц.ARM-порты. Как вы можете видеть, они соответствуют определенному триплету ISA, OS иАБИoptions. Они, в свою очередь, являются наименьшим общим кратным, которое может гарантировать совместимость программного обеспечения скомпилированных пакетов.

Оставив в стороне очевидную сборку Arm64 (использующую64-битный режимнекоторых процессоров ARMv8), я думаю, что большая часть путаницы возникает из-за других, все они начинаются сarm-linux-.

Один разКогда-то давно была только одна цель — «рука», но по ряду причин, начиная отпорядок байтовкподдержка плавающей точкиипроизводительностьон устарел.ВстроенныйABI(довольно пустое название, если вы меня спросите с технической точки зрения, но ARM таковназывает это) спецификация с тех пор безупречно ее вытеснила.

Армельесть не что иное, как новое название, чтобы отличать старую версию от arm big-endian (тогда неофициальной, теперь полностью заброшенной). Ее следует рассматриватьtheсамый простой, и он должен работать практически на любом оборудовании, существующем на свете.

С другой стороны, если у вашего процессора есть FPU, который не будет использоваться. Учитывая, что до ARMv8 не было гарантии, что он будет поддерживаться (большинствоядра v7-Aсделал, но ситуация тем хуже, чем дальше вы отстаете со временем), "максимальная совместимость" подразумевает, что любая соответствующая инструкция относится к библиотеке glibc soft-fp (не путать сsoftfp float-abiфлаг), а не VFP.

И вот почему, в конечном счете, был создан Armhf. Пользовательское пространство снова несовместимо с ссылками, но вы получаете максимально возможную скорость. Хотя ничто не мешало им использовать вышеупомянутый softfp вместо этого (как это делает Android, например), что позволяет и совместимость, ипочтибеспрепятственный доступ к оборудованию с плавающей точкой.

Связанный контент