Привет
Нужна помощь чайнику. Есть stm32f103vd6. На нем есть загрузчик. Он обновляет прошивки и пишет их с 8000а000 адреса (повторил атаку и частично снял дамп). Сами прошивки у меня есть, а вот бутлоадера нет. Хочу собрать полную прошивку, чтобы st-linkом заливать и нужно достать загрузчик. Для этого написал на stm32cubeide свою прошивку, которая по usb в терминал отправляет код загрузчика с 0000 по а000.
Подскажите, как настроить векторы прерываний и т.д в начале моей прошивки? Повторюсь, кода загрузчика нет и я не знаю, что он там делает с регистрами и т.д.
Спасибо
Алексей
Stm32f103 инициализация векторов и регистров
- Реклама
-
Professor Chaos
- Открыл глаза
- Сообщения: 41
- Зарегистрирован: Вс мар 21, 2021 11:06:04
Re: Stm32f103 инициализация векторов и регистров
[uquote="kuzalex",url="/forum/viewtopic.php?p=4079525#p4079525"]как настроить векторы прерываний и т.д в начале моей прошивки?[/uquote]
Почитайте для начала тут про реализацию загрузчика.
Потом возьмите любой проект и посмотрите в нем файл startup.s. Все ответы в нём.
А как это вам удалось написать проект, работающий с USB, и при этом вы не понимаете, что делать с таблицей векторов, и что должен сделать МК сразу после старта, до захода в функцию main()?
Почитайте для начала тут про реализацию загрузчика.
Потом возьмите любой проект и посмотрите в нем файл startup.s. Все ответы в нём.
А как это вам удалось написать проект, работающий с USB, и при этом вы не понимаете, что делать с таблицей векторов, и что должен сделать МК сразу после старта, до захода в функцию main()?
Re: Stm32f103 инициализация векторов и регистров
Отбой
Пока ждал ответа от форумчан, то сам решил эту проблему.
Отредактировал файл system_stm32f1xx.c
Раскомментировал #define USER_VECT_TAB_ADDRESS
В #define VECT_TAB_OFFSET подставил свое значение 0x0000a000
Прошил через bootloader и получил в терминале искомый код загрузчика.
Пока ждал ответа от форумчан, то сам решил эту проблему.
Отредактировал файл system_stm32f1xx.c
Раскомментировал #define USER_VECT_TAB_ADDRESS
В #define VECT_TAB_OFFSET подставил свое значение 0x0000a000
Прошил через bootloader и получил в терминале искомый код загрузчика.
