Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Humanoid
Почетный модератор
10005 / 3889 / 349
Регистрация: 12.06.2008
Сообщений: 11,433
1

Зависает прошивка, собранная тулчейном arm-none-eabi из Ubuntu 18.04

21.11.2018, 00:40. Просмотров 857. Ответов 2
Метки нет (Все метки)

Лучший ответ Сообщение было отмечено ValeryS как решение

Решение

Проковырялся с проблемой некоторое время и хочу поделиться информацией, что бы другим людям сэкономить время.
Была у меня старая прошивка под STM32F103, которую в последний раз собирал ещё до обновления убунты (у меня на тот момент была 14.04). Недавно хотел допилить эту прошивку, но после записи в STM заметил, что контроллер зависает при запуске. Пришлось учиться пользоваться gdb, что бы отследить, что зависает где-то на memset(). Посмотрел дизасемблерный файл и увидел, что вся прошивка собрана в Thumb (16-битные инструкции), а функции memset() и memcpy() почему-то в обычных (32-битных) инструкциях. Оказалось, что линкуется libgcc.a из корня набора библиотек, а должен либо из папки armv7-m, либо из thumb/v7-m.
Погуглил и, похоже, что это баг этой версии тулчейна (убунтовский gcc-arm-none-eabi 15:6.3.1), который линкует не те библиотеки. В результате подключил репозиторий team-gcc-arm-embedded/ppa и установил пакет gcc-arm-embedded, после чего всё заработало как надо.
2
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2018, 00:40
Ответы с готовыми решениями:

arm-none-eabi-gcc - магия
Целый час убил, пытаясь прилинковать libc. В итоге вот что оказалось. Так все линкуется отлично:...

arm-none-eabi & IAR (define) [Решено]
Всем привет! Ребята - прошу сразу не бить серпом по тому что лижет кот... Я в процессе изучения...

arm-none-eabi-ld: unrecognised emulation mode: cpu=cortex-m3
Привет, Вот начал осваивать STM32VL Dysvovery. Установил Yagarto и STLINK на комп ОС Mac OS...

Не работает прошивка STM32VL, собранная руками
Я изучаю STM32 почти с самого низкого уровня (в плане программирования): хотя и не на асме (это еще...

windows eclipse arm-none-eabi-g++ куча объектных файлов
При компиляции проекта появляется сообщение arm-none-eabi-g++: error:...

2
linuxbergi
0 / 0 / 0
Регистрация: 13.03.2014
Сообщений: 2
02.12.2018, 16:13 2
Лучше не использовать newlib которая идёт с gnu-arm. Сплошные баги, клинья и пожирание памяти и ресурсов ЦП. Особенное внимание к динамической памяти. Если нужна динамическая память, то поищи в инете независимую реализацию, для printf, есть замена также, xprintf и ещё куча.
0
Voland_
1688 / 1033 / 97
Регистрация: 04.01.2010
Сообщений: 3,480
02.12.2018, 16:14 3
docker - наше все, выходит?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2018, 16:14

Linux + Code::Blocks IDE + arm-none-eabi-gcc + openocd
Приветствую всех. Вот как 2 недели занялся изучением программирования микроконтроллеров с arm...

Windows-8 Ubuntu ARM-платформы
Всем привет подскажите можно ли на Android-планшет поставить Windows-8, Ubuntu, Linux, Ubuntu-Touch...

Сборка проекта в Ubuntu для Linux arm
Всем привет! Мне нужно создать приложение для Arm устройства . Под рукой пока что только Ubuntu...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru