arm体系结构所支持的异常和具体含义如下:
1、复位(优先级1)
当处理器的复位电平有效时,产生复位异常,程式跳转到复位异常处执行(异常向量:0x0000,0000);
2、未定义指令(优先级6)
当arm处理器或协处理器遇见不能处理的指令时,产生为定义异常。可使用该异常机制进行软件仿真(异常向量:0x0000,0004);
3、软件中断(优先级6)
有执行swi指令产生,可用于用户模式下程式调用特权操作指令。可使用该异常机制实现系统功能调用(异常向量:0x0000,0008);
4、指令预取中止(优先级5)
若处理器的预取指令的地址不存在,或该地址不允许当前指令访问,存储器会向处理器发出中止信号,当预取指令被执行时,才会产生指令预取中止异常(异常向量:0x0000,000c);
5、数据中止(优先级2)
若处理器数据访问的指令的地址不存在,或该地址不允许当前指令访问,产生数据中止异常(异常向量:0x0000,0010);
6、irq,外部中断请求(优先级4)
当处理器的外部中断请求引脚有效,且cpsr中的i位为0时,产生irq异常。系统的外设能该异常请求中断服务(异常向量:0x0000,0018);
7、fiq,快速中断请求(优先级3)
当处理器的快速中断请求引脚有效,且cpsr中的f位为0时,产生fiq异常(异常向量:0x0000,001c)。
总结如下表格:
异常中断类型 |
异常中断模式 |
向量地址 |
优先级(1最高) |
复位 |
管理模式 |
0x00000000 |
1 |
未定义指令 |
未定义模式 |
0x00000004 |
6 |
软件中断(swi) |
管理模式 |
0x00000008 |
6 |
指令预取中止 |
中止模式 |
0x |
5 |
数据访问中止 |
中止模式 |
0x00000010 |
2 |
保留 |
|
0x00000014 |
|
外部中断请求irq |
irq模式 |
0x00000018 |
4 |
快速中断请求fiq |
fiq模式 |
0x |
3 |
说明:其中异常向量0x0000,0014为保留的异常向量。
本文来自凯发app-凯发k8官网科技,原文地址:
http://www.myir-tech.com/resource/506.asp,转载请注明出处。