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 |
指令预取中止 | 中止模式 | 0x0000000C | 5 |
数据访问中止 | 中止模式 | 0x00000010 | 2 |
保留 | 0x00000014 | 保留 | |
外部中断请求IRQ | IRQ模式 | 0x00000018 | 4 |
快速中断请求FIQ | FIQ模式 | 0x0000001C | 3 |
说明:其中异常向量0x0000,0014为保留的异常向量。
本文来自米尔科技,原文地址: http://www.myir-tech.com/resource/506.asp,转载请注明出处。
更多回帖