ARM的中断向量表简介
来源:互联网 发布:手机切歌软件 编辑:程序博客网 时间:2024/05/16 15:27
在ARM的异常向量表(如下图所示),为什么FIQ处于 异常向量表的最顶端?—————————————————————————————————— 中断向量地址 | 异常中断类型 | 异常中断模式 | 优先级(6最低) |———————|——————— -|————————|—————————-| 0x00 | 复位 | 特权模式 | 1 | 0x04 | 未定义的指令 | UND终止模式 | 6 | 0x08 | 软件中断 | 特权模式 | 6 | 0x0C | 指令预取终止 | 终止模式 | 5 | 0x10 | 数据访问终止 | 终止模式 | 2 | 0x14 | 保留 | 未使用 | 未使用 | 0x18 | 外部中断请求 | IRQ模式 | 4 | 0x1C | 快速中断请求 | FIQ模式 | 3 |———————————————————————————————————在阅读了ARM的大量资料后得到的结论是:FIQ异常向量放在所有向量最后,目的是可以将FIQ异常处理程序直接放在向量的地址上. 这样在执行FIQ处理时,就可以不用进行跳转,快速响应中断.FIQ向量放在最后,允许FIQ异常处理程序直接放在地址0x0000001C或0xFFFF001C开始 的位置,而不需要由向量的分支指令。也就是说直接从0x0000 0001C开始执行,这样省去了一个跳转指令,如果FIQ不是在顶端,那么当然需要一次跳转.