课程内容
- ARM中断体系结构
-7种工作模式
-异常 - S3C2440中断体系结构
-中断处理过程
-相关寄存器 - 源码分析
ARM中断体系结构
工作模式下的东西:
- 不同的寄存器
- 不同的权限
- 不同的触发条件
不同的寄存器
如上图所示,在处于系统/用户模式下和快中断模式下的r0-r7是一样的,但是r8-r14是不相同的,快中断模式下有属于自己的r8-r14寄存器,其他模式同理。
同一条mov R8,#1指令,在不同情况下,数据存放地址是不同的。
模式切换之间要做的事情是 保存现场(比如从用户模式切换到快中断模式时,只需要将r0到r7的保存到栈中就好)
不同的权限
例如用户模式运行时不能访问某些寄存器,不能够访问某些地址,这东西要配合MMU来使用(因为MMU其中一个功能就是权限管理)。在管理模式下面可以访问所有东西。
触发条件
- 上电后CPU处于管理模式
- 发生中断,进入IRQ模式
触发条件可由上图看出
异常
中断(中断是一种异常)背景设想:你在家里看电视,知道门口即将有人来。。
问:你怎么知道门口有人来?
- 查询的方法
没过5分钟看看有没有人来 - 中断方式
不用经常去开门看,只需要那个人按门铃就知道有人来。
数据访问终止、未定义指令终止两个都是异常
发生了异常之后会有什么事情发生:
1. CPU会强制进入异常模式。(切换管理模式和寄存器)
2.