Компиляция на ARMv8 - Запуск на ARMv7

Можно ли скомпилировать пакет на ARMv8 и запустить его на ARMv7?

Я не очень опытен во всем строительном деле (пока). Я пришел к этому вопросу, потому что мой Odroid C1+ не может скомпилировать icinga2 из-за очень ограниченной оперативной памяти. C2 имеет 2 ГБ ОЗУ и, вероятно, справится с этой задачей лучше.

Но можно ли запустить скомпилированный пакет C2 (ARMv8) на моем C1+ (ARMv7)?

1 ответ

Решение

Можно ли скомпилировать пакет на ARMv8 и запустить его на ARMv7?

Это называется кросс-компиляцией и является обычным способом генерирования кода ARM - только в настоящее время большинство машин сборки для двоичных файлов ARM, вероятно, x86_64. Но если у вас есть компилятор, предназначенный для платформы ARMv7, работающей на ARMv8, я не вижу проблемы.

Я не очень опытен во всем строительном деле (пока). Я пришел к этому вопросу, потому что мой Odroid C1+ не может скомпилировать icinga2 из-за очень ограниченной оперативной памяти. C2 имеет 2 ГБ ОЗУ и, вероятно, справится с этой задачей лучше.

Вы знаете, что намного лучше при компиляции? Соответствующий ПК с более чем 4 ГБ ОЗУ, большой пропускной способностью ОЗУ и значительно более высокой пропускной способностью хранилища, с сильно конвейерным многоядерным ЦП CISC, а не энергосберегающим ARM.

Действительно, программное обеспечение для встраиваемых систем обычно создается на не встроенных компьютерах с кросс-компиляторами. Есть определенно разные способы кросс-компиляции чего-нибудь для вашего C1 + на вашем ПК; Обычно я рекомендую использовать метод, который используется в вашем дистрибутиве Linux (если вы используете какой-либо), для кросс-компиляции пакетов.

ARMv7 является платформой, отличной от ARMv8, поэтому компиляция программного обеспечения из ARMv7 на v8 не имеет преимуществ перед компиляцией программного обеспечения для ARMv7 на x86. В любом случае вам понадобится кросс-компиляция.

Другие вопросы по тегам