ARM基础知识学习四
ARM中异常中断的种类 **复位(RESET)** 当处理器复位引脚有效时,系统产生复位异常中断,程序跳转到复位异常中断处理程序处执行。复ARM基础ARM知识ARM学习位异常中断通常用在下面几种情况下:系统加电时;系统复位时;跳转到复位中断向量处执行成为软复位。 **未定义的指令** 当ARM处理器或者是系统中的协处理器认为当前指令未ARM基础ARM知识ARM学习定义时,产生未定义的指令异常中断,可以通过改异常中断机制仿真浮点向量运算。 **软件中断** 这是一个由用户定义的中断指令。可用于用户模式下的程序调用特权操作指令。在实时操作系统中可以通过该机制西线系统功能调用。 **指令与取终止(PrefechAbort)** 如果处理器预取的指令的地址不存在,或者该地址不允许当前指令访问,当被预取的指令执行时,处理器产生指令预取终止异常中断。 **数据访问终止(DATAABORT) 如果数据访问指令的目标地址不存在,,或者该地址不允许当前指令访问,处理器产生数据访问终止异常中断 **外部中断请求(IRQ)** 当处理器的外部中断请求引脚有效,而且CPSR的寄存器的I控制位被清除时,处ARM基础ARM知识ARM学习理器产生外部中断请求异常中断。系统中个外设通过该异常中断请求处理服务。 **快速中断请求(FIQ)** 当处理器的外部快速中断请求引脚有效,而且CPSR的F控制位被清除时,处理器产生外部中断请求异常中断 异常中断向量表及异常中断优先级 中断向量表指定了个异常中断及其处理程序的对应关系。他通常存放在存储地址的低端。在ARM体系中,异常中断向量表的大小为32字节,其中每个异常中断占据4个字节大小,保留了4个字节空间。 每个异常中断对应的中断向量表中的4个字节的空间中存放了一个跳转指令或者一个向PC寄存器中赋值的数据访问指令。通过这两种指令,程序将跳转到相应的异常中断处理程序处执行。当几个异常中断同时发生时,就必须按照一定的次序来处理这些异常中断。 各个异常中断的中断向量地址以及中断的处理优先级 中断向量地址 异常中断类型 异常中断模式 优先级(6最低) 0x00 复位 特权模式 1 0x04 未定义的指令 未定义指令终止模式 6 0x08 软件中断 特权模式 6 0x0C 指令预取终止 终止模式 5 0x10 数据访问终止 终止模式 2 0x14 保留 未使用 未使用 0x18 外部中断请求 IRQ模式 4 0x1C 快速中断请求 FIQ模式 3 |
