STM32中断向量表偏移地址配置方法

时间:2024-03-22 18:48:07

以将中断向量表偏移地址改到0x8005000为例

第一种方式: 设置system_stm32f1xx.c文件  #defineVECT_TAB_OFFSET  0x5000 

在void SystemInit (void)函数中通过“SCB->VTOR =FLASH_BASE | VECT_TAB_OFFSET”命令实现地址偏移

第二种方式:运用库函数时,可以在main()函数开头,加上

  NVIC_SetVectorTable(NVIC_VectTab_FLASH,0x5000);__ASM("CPSIE  I"); 命令实现地址偏移

NVIC_VectTab_FLASH 和 FLASH_BASE 都为 0x08000000


要实现这个功能,还需要在MDK的option->target 配置IROM1为0x8005000,如图

STM32中断向量表偏移地址配置方法