Search
Write a publication
Pull to refresh
1
0
Дмитрий @Demnlight

User

Send message

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

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

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

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

Information

Rating
10,168-th
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity

Specialization

Software Developer, Embedded Software Engineer
Middle
C++
C
ASM
Programming microcontrollers
Code Optimization