一、ARM 异常处理:从概念到实践
异常是 ARM 处理器在正常执行程序时遇到的 “意外事件”,处理器会暂停当前程序、处理异常,再返回断点继续执行。这一机制是保障嵌入式系统稳定运行的关键,具体可拆解为以下核心模块:

1. 异常的 “源头” 与 “模式”:一一对应的映射关系
导致异常的事件称为异常源,ARM 处理器会根据不同异常源,切换到对应的异常模式(5 种异常模式均属于 ARM 基本工作模式),确保异常处理时的资源隔离。具体对应关系如下:
| 异常源 | 异常模式 | 触发场景 |
|---|---|---|
| FIQ(快速中断请求) | FIQ | 快速中断请求引脚有效(如高速外设中断) |
| IRQ(外部中断请求) | IRQ | 外部中断请求引脚有效(如普通外设中断) |
| Reset(复位) | SVC(管理模式) | 复位电平有效(如系统上电、手动复位) |
| Software Interrupt(软件中断) | SVC | 执行swi指令(如用户态向内核态请求服务) |
| Data Abort(数据终止) | Abort(终止模式) | 访问数据内存时出错(如地址越界、权限不足) |
| Prefetch Abort(指令预取终止) |

最低0.47元/天 解锁文章
673

被折叠的 条评论
为什么被折叠?



