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 而已了,以后的中断响应里,根本用不到了。

应该是我的理解有误区,请大神们指点一下。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
BrandonYuan
1楼-- · 2019-07-20 10:08
 精彩回答 2  元偷偷看……
正点原子
2楼-- · 2019-07-20 15:51
多看几遍我的教程,从头看起,你就明白了
BrandonYuan
3楼-- · 2019-07-20 18:42
正点原子 发表于 2018-12-21 02:48
多看几遍我的教程,从头看起,你就明白了

你好坏
zh3251241
4楼-- · 2019-07-20 19:19
 精彩回答 2  元偷偷看……
BrandonYuan
5楼-- · 2019-07-20 23:13
zh3251241 发表于 2018-12-21 14:20
兄嘚,这TM硬件机制就是这,或者你可以给ST或者ARM建议一下

兄嘚,我知道是硬件机制, 问题是我没有理解到“为什么查BootLoader的向量表却执行了APP的中断服务函数”,  脑子没有转过这个弯弯呀。难受~
正点原子
6楼-- · 2019-07-21 01:12
BrandonYuan 发表于 2018-12-24 17:26
兄嘚,我知道是硬件机制, 问题是我没有理解到“为什么查BootLoader的向量表却执行了APP的中断服务函数” ...

因为有中断向量偏移量。

一周热门 更多>