• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

stm32中断向量地址为什么是放在rom开始地址

yhj416606438 2022-04-09 浏览量:331
stm32中断向量地址为什么是放在rom开始地址,能不能放其他地址
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • ST公司重定位向量表的库函数:

    void NVIC_SetVectorTable(uint32_t NVIC_VectTab uint32_t Offset){

      assert_param(IS_NVIC_VECTTAB(NVIC_VectTab));

      assert_param(IS_NVIC_OFFSET(Offset));     

      SCB->VTOR = NVIC_VectTab | (Offset & (uint32_t)0x1FFFFF80);

    }

    运用库函数时,可以在main()函数开头,加上

      NVIC_SetVectorTable(NVIC_VectTab_FLASH0x5000);__ASM("CPSIE  I"); 命令实现地址偏移

    NVIC_VectTab_FLASH 和 FLASH_base 都为 0x08000000

    • 发布于 2022-04-21
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:1
  • 这个是方便程序读取,放其他的地方也是可以的,但要修改读取的地址
    • 发布于2022-04-21
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

stm32中断向量地址为什么是放在rom开始地址