MCU 型号为 STM32F030K6T, 因为这款 MCU 没有 向量表偏移寄存器VTOR。想请教如何将该 MCU 的向量表重映射到我的应用程序地址0x08001000 或 0x08004800。
我曾在 STM32G030F6P(G 系列 MCU)上成功实现过该操作,以下是 G 系列 MCU 的相关代码:
int main(void){
if (IMAGE_1 == *((__IO uint32_t*) SRAM_SELECT_ADDRESS)) {
uint32_t addressImage1 = imageAddress(CONFIG_ADDRESS, IMAGE_1);
SCB->VTOR = addressImage1 + 4;
}
if (IMAGE_2 == *((__IO uint32_t*) SRAM_SELECT_ADDRESS)) {
uint32_t addressImage2 = imageAddress(CONFIG_ADDRESS, IMAGE_2);
SCB->VTOR = addressImage2 + 4;
}
/* MCU Configuration--------------------------------------------------------*/
platform_start();
HAL_UART_Receive_IT(&huart2, uartRxbuffer, sizeof(uartRxbuffer));
while(1){
// waiting for an interrupt.
}
}
|
|