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

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
kuzalex
Родился
Сообщения: 2
Зарегистрирован: Сб авг 21, 2021 11:56:53

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

Сообщение kuzalex »

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

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

Сообщение Professor Chaos »

[uquote="kuzalex",url="/forum/viewtopic.php?p=4079525#p4079525"]как настроить векторы прерываний и т.д в начале моей прошивки?[/uquote]
Почитайте для начала тут про реализацию загрузчика.
Потом возьмите любой проект и посмотрите в нем файл startup.s. Все ответы в нём.

А как это вам удалось написать проект, работающий с USB, и при этом вы не понимаете, что делать с таблицей векторов, и что должен сделать МК сразу после старта, до захода в функцию main()?
Реклама
kuzalex
Родился
Сообщения: 2
Зарегистрирован: Сб авг 21, 2021 11:56:53

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

Сообщение kuzalex »

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

Вернуться в «ARM»