Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

Stm32f103 инициализация векторов и регистров

Сб авг 21, 2021 12:18:48

Привет
Нужна помощь чайнику. Есть stm32f103vd6. На нем есть загрузчик. Он обновляет прошивки и пишет их с 8000а000 адреса (повторил атаку и частично снял дамп). Сами прошивки у меня есть, а вот бутлоадера нет. Хочу собрать полную прошивку, чтобы st-linkом заливать и нужно достать загрузчик. Для этого написал на stm32cubeide свою прошивку, которая по usb в терминал отправляет код загрузчика с 0000 по а000.
Подскажите, как настроить векторы прерываний и т.д в начале моей прошивки? Повторюсь, кода загрузчика нет и я не знаю, что он там делает с регистрами и т.д.
Спасибо
Алексей

Re: Stm32f103 инициализация векторов и регистров

Сб авг 21, 2021 16:23:37

как настроить векторы прерываний и т.д в начале моей прошивки?

Почитайте для начала тут про реализацию загрузчика.
Потом возьмите любой проект и посмотрите в нем файл startup.s. Все ответы в нём.

А как это вам удалось написать проект, работающий с USB, и при этом вы не понимаете, что делать с таблицей векторов, и что должен сделать МК сразу после старта, до захода в функцию main()?

Re: Stm32f103 инициализация векторов и регистров

Сб авг 21, 2021 18:43:09

Отбой
Пока ждал ответа от форумчан, то сам решил эту проблему.
Отредактировал файл system_stm32f1xx.c
Раскомментировал #define USER_VECT_TAB_ADDRESS
В #define VECT_TAB_OFFSET подставил свое значение 0x0000a000
Прошил через bootloader и получил в терминале искомый код загрузчика.
Ответить