IAP中STM32的工作流程,有疑惑!

2019-07-20 04:25发布

如图所示,文中说到,在IAP工程中(两个工程:1个BootLoader,1个APP)有两份中断向量表,在APP程序运行中,当中断来临时,硬件体系使得,PC指针跳转至Bootloader代码段的向量表,然后再根据偏移量跳转至APP段的中断服务函数运行,这一句话我没有弄明白啊,以下是我的理解:

1,中断向量表里存放的是每个中断服务函数的入口地址,那么,Bootloader段的向量表里,存放的是bootloader工程的中断服务函数的地址。 这些函数(xxx_Handler)的地址 与 APP中的同名函数的地址应该是不一样的,那怎么能通过查向量表一,获取得到APP工程中函数的地址呢??? 所以这个步骤⑤的跳转机制,哪位大神能否再细致的讲解一下。
2,如果从向量表一可以直接跳转到APP的中断函数, 那么向量表二还有什么用呢? 如果这样的话, 那仅仅是在BootLoader跳转至APP的时候,通过向量表调用一下 Reset_Handler 而已了,以后的中断响应里,根本用不到了。

应该是我的理解有误区,请大神们指点一下。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。