在stm32不完全手册中,串口iap 一章 (第492-493页)有如下的描述:[size=13.3333px]在 main 函数执行过程中, 如果 CPU 得到一个中断请求, PC 指针仍强制跳转到地址
0X08000004 中断向量表处,而不是新程序的中断向量表,如图标号④所示;
这里我不是很理解,想问下这句话的依据是什么。因为我从《cortex-m3权威指南》中查阅的资料是,向量表偏移寄存器(VTOR)存的是向量表的起始地址,而不是中断/异常的入口偏移地址。
所以我认为 当程序发生中断/异常时,CPU会先通过VTOR寻找向量表,然后再根据异常/中断号在向量表中的偏移,找到中断入口。
所以当新的程序有重新设置了SCB->VOTR后,新程序的中断应该会从新程序的中断向量表里偏移,从而找到中断入口。不知道拿理解的有误,希望指正。
谢谢.
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>