Я хочу запустить свою программу из области SRAM устройства.
Мне казалось совершенно очевидным, что я должен выполнить следующие действия:
- Измените регистр смещения таблицы векторов
SCB->VTOR
(расположенный в0xE000ED08
) так, чтобы он указывал на начало области SRAM, поскольку именно там находится моя таблица векторов:0x20000000
- Перезагрузите устройство, чтобы оно снова получило значение инициализации указателя стека и адрес обработчика сброса.
К сожалению, всякий раз, когда я запускаю команду reset init
в OpenOCD, значение SCB->VTOR
очищается. Следовательно, значение инициализации указателя стека и адрес обработчика сброса извлекаются из 0x00000000
вместо 0x20000000
.
Вопрос
Как мне заставить мой STM32F4 получать векторную таблицу из 0x20000000
?