我想从设备的 SRAM 区域运行我的程序。
对我来说似乎很清楚,我必须执行以下步骤:
- 修改向量表偏移寄存器
SCB->VTOR
(位于0xE000ED08
)以指向 SRAM 区域的开头,因为那是我的向量表所在的位置:0x20000000
- 重置设备,使其再次获取堆栈指针初始化值和重置处理程序地址。
不幸的是,每当我在 OpenOCD 中发出reset init
命令时,值SCB->VTOR
都会被清除。因此,堆栈指针初始化值和复位处理程序地址是从而0x00000000
不是从 中获取的0x20000000
。
问题
如何让我的 STM32F4 从中获取向量表0x20000000
?