欢迎来到亿配芯城! | 免费注册
你的位置:ONSEMI(安森美)半导体IC芯片全系列-亿配芯城 > 芯片资讯 > ARM微处理器对异常中断的响应过程
ARM微处理器对异常中断的响应过程
发布日期:2024-01-09 13:16     点击次数:173

ARM微处理器对异常中断的响应过程如下:

●当异常中断发生时,程序将当前执行指令的下一条指令的地址存入新的异常模式的链接寄存器LR中(R14_),以便程序在异常处理完后,能正确返回原程序。

●保存当前的CPSR值,即将CPSR复制到新的异常模式的SPSR中。

●根据异常类型,重新设置CPSR的运行模式位CPSR[4:0],使微处理器进入相应的工作模式。

●强制给PC赋值,即将表2.4中相应的向量地址赋给PC,从而跳转到相应的异常处理程序处执行程序。

●设置CPSR中的中断禁止位,ONSEMI(安森美)半导体IC芯片一站式采购平台 以禁止中断发生。

上述过程用伪码可以描述为:

R14_ = Return Link SPSR_ = CPSR CPSR[4:0] = Exception Mode Number CPSR[5] = 0 If == Reset or FIQ then CPSR[6] = 1 ;当响应FIQ或复位异常时,禁止新的FIQ中断 CPSR[7] = 1 ;禁止IRQ中断 PC = Exception Vector Address

如果异常发生时,处理器处于Thumb状态,则当异常向量地址加载入PC时,处理器自动切换到ARM状态。

异常处理完毕之后,ARM微处理器会执行以下几步操作从异常返回:

●由链接寄存器LR的值恢复PC,返回到发生异常中断的指令的下一条指令处执行程序。

●将SPSR复制回CPSR中。

●若在进入异常处理时设置了中断禁止位,要在此清除。



相关资讯