嵌入式ARM体系CPU的7种工作模式与5种异常对比记忆

ARM体系的七种工作模式如下:

状态码 工作模式 特权模式 异常模式 说明
10000 用户模式(User)     用户程序运行模式
11111 系统模式(System) 该模式下可任意访问系统资源   运行特权级的操作系统任务
10001

快中断模式(FIQ)

通常由系统异常状态

切换进该组模式

快速中断模式
10010 中断模式(IRQ) 普通中断模式
10011 管理模式(supervisor) 提供操作系统使用的一种保护模式,swi命令状态
10111

数据访问中止(Abort)

虚拟内存管理和内存数据访问保护
11011 未定义指令中止(Undefined) 支持通过软件仿真硬件的协处理

上表copy自CSDN用户:奔跑的路

没别的,人家做的太好了。

七种工作模式中,除【用户模式】外的6种模式为特权模式,除【用户模式】和【系统模式】外的5种模式为异常模式。

注意:在相关资料中不会注意中止和终止的区别,中止意为暂时停止并非最终停止,所以本人认为Abort和Undefined模式使用中止较为合适,因为毕竟是异常模式,在该模式执行之后还是要退回到之前的模式的,只是中途暂时的停止执行在该模式下运行。

别的异常就没啥了,其中数据访问中止异常包括取指令或取数据访问非法地址两种情况;未定义指令中止是指执行不能识别的指令导致的异常。

 

 

你可能感兴趣的:(嵌入式)