STM32 HAL庫重新設置中斷向量表后,無法進入中斷的解決方法


 做遠程升級時,需要在單片機啟動前運行一個boo程序,在boot程序中跳轉到應用程序,這就涉及到了重新設置中斷向量表

1. STM32標准庫設置中斷向量表:

  NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0ffset);

2. STM32HAL庫設置中斷向量表:

  SCB->VTOR = FLASH_BASE | offset;

 重點注意:在重新設置中斷向量表位置時,一定要注意關總中斷,設置完成后,在打開總中斷

  

    /* close interruption*/
    __set_FAULTMASK(1);

    /* set vector table*/
    NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0xffset);

    /* open interruption*/
    __set_FAULTMASK(0);

  

 程序中重定向完向量表地址后,需要在Keil中設置程序的下載位置

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM