скрытое меню

Организация программы

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

Надо расслабится и посмотреть со стороны на проблему.

Обратимся к истокам , к исходному старту программы.

В общем надо начинать с самого начала запуска контроллера. А где он запускается ? Похоже это не main ребята, а startupxxx.s файл с ассемблером.

startup_stm32f407xx.s

Его и разбираем в первом приближении :

Reset_Handler - это и есть начальный адрес , с которого начинается выполнение программы.

Там выполняет некоторая инициализация и в конце вызывается main (bl main - как обычная функция)

А вот где лежит нужная нам информация по содержанию вашей программы.

Натыкаемся на файл *.ld (там полезная инфа линковщика ).

Натыкаемся на файл *.map (там похоже в том числе символьная информация для отладки).

Натыкаемся на файл *.list (тут наши функции в ассемблерном виде).