摘自ARM-中断状态中断响应流程四大步三小步-CSDN博客当异常发生时ARM处理器核心会自动完成以下操作来保存现场保存CPSR将当前程序状态寄存器 (CPSR) 的内容复制到相应异常模式的备份寄存器 (SPSR_mode) 中。设置CPSR切换处理器进入ARM状态。根据需要禁止中断设置FIQ或IRQ禁止位。根据异常类型切换到对应的异常模式。保存返回地址将当前程序计数器 (PC) 的值保存到相应异常模式的链接寄存器 (lr_mode) 中。跳转处理强制将PC设置为异常向量表的固定首地址开始执行中断服务程序。软/硬中断区别硬中断由硬件随机产生软中断如SWI指令由软件预先安排用于主动进入特权模式。恢复现场上述由硬件完成而中断返回时必须由软件手动恢复现场包括从SPSR_mode恢复CPSR、从lr_mode恢复PC等。Cortex-M vs Cortex-A文章指出Cortex-M系列如STM32支持中断嵌套而Cortex-A系列因处理速度快硬件上不支持嵌套。概念类别核心内容/状态简要说明中断状态1.挂起态中断已发生但尚未被处理2.激活态正在执行对应的中断处理函数3.未激活态无中断请求发生异常类型 (7种)1.复位异常优先级最高用于系统启动2.数据异常访问数据时出错如地址无效3.快速中断(FIQ)高速、低延迟中断4.外部中断(IRQ)普通外设中断5.预取异常取指令时出错6.软中断(SWI)软件主动触发用于系统调用7.未定义指令异常指令译码失败