Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/19: Рейтинг темы: голосов - 19, средняя оценка - 4.63
Почетный модератор
11086 / 4058 / 388
Регистрация: 12.06.2008
Сообщений: 11,775
1

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

21.11.2018, 00:40. Просмотров 3449. Ответов 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)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.11.2018, 00:40
Ответы с готовыми решениями:

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

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

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

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

2
0 / 0 / 0
Регистрация: 13.03.2014
Сообщений: 13
02.12.2018, 16:13 2
Лучше не использовать newlib которая идёт с gnu-arm. Сплошные баги, клинья и пожирание памяти и ресурсов ЦП. Особенное внимание к динамической памяти. Если нужна динамическая память, то поищи в инете независимую реализацию, для printf, есть замена также, xprintf и ещё куча.
0
1778 / 1108 / 109
Регистрация: 04.01.2010
Сообщений: 3,885
02.12.2018, 16:14 3
docker - наше все, выходит?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.12.2018, 16:14

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

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

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


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

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

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