Обновить
1
0
Дмитрий@Demnlight

Пользователь

Отправить сообщение

Специальный технологический центр - гибрид. 3/2

Жду продолжение статьи по всем 3 пунктам

Недавно встретили баг, на новой версии компилятора.
Прошивка просто висла при прыжке в функцию, логи нормально помочь не смогли, полезли программатором, оказалось что компилятор новой версии генерировал инструкцию LDRD, для того что бы вытащить uint64_t. Который у нас находился по невыравненному адресу. А ядрышко так не умеет :)
STM32F437

Компилятор старой версии генерировал просто 2х LDR.

На последнем скрине чистый псевдокод на C/C++, который получили после дизассемблирования

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Десктоп разработчик, Инженер встраиваемых систем
Средний
C++
C
ASM
Программирование микроконтроллеров
Оптимизация кода