Я слежу за Rpi 3 bare metal учебным курсом. Я потратил много времени на «голый металл» с Rpi A + и Zero, используя отличное репо Дэйва Велча и другие источники.
Самое замечательное в этом руководстве по Rpi 3 то, что
1) it's 64 bit
2) it's multi core
С моим поверхностным пониманием, я знаю, что aarch64-elf
создаст «двоичный», который может быть загружен ОС, использующей формат файла ELF, например, любой на основе Unix (Linux, OSX).
В то время как aarch64-none
предназначен для «голого металла», то есть он не будет создавать информацию о загрузчике ОС в результирующий двоичный файл.
Что сбивает с толку, так это то, что Rpi 3 tutorial создает свою цепочку инструментов как aarch64-elf
.
Если вы посмотрите на строку 40 make-файла, , он по-прежнему выполняет objcopy
, который, как я думаю, в любом случае удалит всю информацию, относящуюся к ELF, верно?
Итак, мой вопрос: стоит ли менять их Make-файлы на aarch64-none
в каждом отдельном примере? К сожалению, они не очень хорошо справились с настройкой этого параметра!
Есть ли какие-то дополнительные преимущества при использовании «голого металла» для aarch64-none
? Мне все равно придется делать objcopy
, верно?