Перейти к содержанию
    

GCC for ARM 64-bit

Думал, что легко найду 64 битный кросс компилятор для АРМ, но не тут-то было. Кто-нибудь имел дело с подобным? Как бы строить самому не пришлось :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

http://electronix.ru/forum/index.php?showt...&start=1155

В этой теме как раз 64-бит, по просьбе KLEN может под windows сделать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В этой теме как раз 64-бит, по просьбе KLEN может под windows сделать.
Но зачем? Почему не использовать сборки, официально созданные и поддерживаемые создателями ядра?

 

Плюс, насколько я понимаю речь идет о AArch64, про который в той теме ничего нет (тут могу ошибаться, быстро просмотрел).

 

И если нужно для МК, то опять-же официальные релизы лучше брать тут https://launchpad.net/gcc-arm-embedded

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

 

У меня закончилось с такой ошибкой

 

home/rain/gcc-linaro-4.9-2014.11-x86_64_arm-eabi/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld: error: no memory region specified for loadable section `.note.gnu.build-id'

 

этот же самый проект с компилятором 5.3 от ланчпада - ошибок нет...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

этот же самый проект с компилятором 5.3 от ланчпада - ошибок нет...
Я по историческим причинам использую ланчпад для МК и линаро для линукса.

 

Но еще одно преимущество использования таких сборок - это то, что все ошибки уже были кем-то замечены.

 

В данном случае компилятор собран с опцией --enable-linker-build-id. Я не уточнял, но опция как-то помогает с отладочной информацией.

 

Для починки компиляции нужно либо выключить это через опцию линкера " --build-id=none".

 

Или добавить такую секцию в скрипт:

.note.gnu.build-id :

{

. = ALIGN(4);

PROVIDE( _note = .);

*(.note.gnu.build-id)

. = ALIGN(4);

*(.note.gnu.build-id.*);

. = ALIGN(4);

PROVIDE( _enote = .);

} > flash

Не уверен, что ей действительно нужно находиться во флеше, но это нужно читать, что именно делает --enable-linker-build-id.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не уверен, что ей действительно нужно находиться во флеше, но это нужно читать, что именно делает --enable-linker-build-id.

 

Почитал. Опция добавляет уникальный хеш (SHA1 или MD5) к бинарникам. Может быть полезно в некоторых случаях, в остальных

LDFLAGS += -Wl,--build-id=none

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как бы строить самому не пришлось :(

Что плохого в самостоятельном строительстве?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что плохого в самостоятельном строительстве?

 

Во-первых и так много чего делать надо.

Во-вторых когда что-то делаешь в первый раз и не знаешь на что надо обратить внимание -- обращаешь внимание на все, что замедляет скорость работы.

В-третьих появляется еще один элемент в котором возможны ошибки, неподходящие опции и т.д.. Я например до конца не осознаю чем bare metal и linux отличаются. Нет. То что везде написано я много раз читал, и где и как использовать знаю, а как строить тот или иной компилятор мне надо исследование проводить.

В-четвертых если делать правильно, то надо много чего почитать по теме, а времени на это нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...