当前位置:文档之家› 中断向量表笔记

中断向量表笔记

中断向量笔记
大头小脑
1、中断向量表(Interrupt Vector Table是ISR(Interrupt Service Routine)
进入点的数组)
2、当CPU开始处理一个中断的时候(从优先级号开始),根据优先级计算中
断向量表中和这个中断相关的地址。

这个地址被载入到程序计数器。

CPU
开始执行这个地址存储的指令(在中断向量表中),这个地址的代码是所
选择的ISR的开始。

由于ISR的大小关系,中断向量表可能仅仅存储ISR
的初始化部分,比如:一个跳转指令,这个跳转指令把CPU引导到ISR
的在存储区域的剩余程序部分。

3、中断向量表存储在代码存储区域。

BIV寄存器指定了中断向量表的具体地
址。

中断向量在中断向量表中是按照优先级增长的方式递增的。

4、BIV寄存器存储着中断向量表的基地址。

其可以分配到任何一个可用的代
码存储区域。

5、在系统初始化中可以改变BIV的值。

在这种方法下,可以有多个中断向量
表,通过改变BIV的值它们之间可以切换。

6、中断向量表是根据中断优先级而组织的。

7、TC1728提供附加的选项:允许跨过几个没有被用的中断向量进入点。

8、使用BIV寄存器和优先级号来计算(P1013)
(P1014)
PIPN左移5bits和BIV寄存器的值“或”运算,得到指向中断向量表的指针。

CCPN现在的CPU优先级号,PIPN,正在等待的CPU优先级号。

总结:1、TriCore是以中断的优先级来定义中断向量表,每一个服务请求可以分配一个独立的优先级
2、Power PC是以中断的属性来定义中断向量表,只有16个优先级。

3、中断向量表是在startup中初始化的,一般在库中,不可见。

相关主题