嵌入式linux第六课之中断体系结构

本文介绍了ARM处理器的中断体系结构,包括7种工作模式和异常处理。深入讲解了S3C2440芯片的中断处理过程,涉及中断初始化、中断源分辨和处理、中断优先级设置。通过具体的程序流程,阐述了从系统启动到中断处理的详细步骤,以及如何在中断发生时保存和恢复程序状态。
摘要由CSDN通过智能技术生成
课程内容
  1. ARM中断体系结构
    -7种工作模式
    -异常
  2. S3C2440中断体系结构
    -中断处理过程
    -相关寄存器
  3. 源码分析

ARM中断体系结构

其中中断模式如下图所示
工作模式下的东西:

  1. 不同的寄存器
  2. 不同的权限
  3. 不同的触发条件

不同的寄存器
在这里插入图片描述
如上图所示,在处于系统/用户模式下和快中断模式下的r0-r7是一样的,但是r8-r14是不相同的,快中断模式下有属于自己的r8-r14寄存器,其他模式同理。

同一条mov R8,#1指令,在不同情况下,数据存放地址是不同的。

模式切换之间要做的事情是 保存现场(比如从用户模式切换到快中断模式时,只需要将r0到r7的保存到栈中就好)

不同的权限
例如用户模式运行时不能访问某些寄存器,不能够访问某些地址,这东西要配合MMU来使用(因为MMU其中一个功能就是权限管理)。在管理模式下面可以访问所有东西。
触发条件

  1. 上电后CPU处于管理模式
  2. 发生中断,进入IRQ模式
    触发条件可由上图看出
异常

中断(中断是一种异常)背景设想:你在家里看电视,知道门口即将有人来。。
问:你怎么知道门口有人来?

  1. 查询的方法
    没过5分钟看看有没有人来
  2. 中断方式
    不用经常去开门看,只需要那个人按门铃就知道有人来。

数据访问终止、未定义指令终止两个都是异常

发生了异常之后会有什么事情发生:
1. CPU会强制进入异常模式。(切换管理模式和寄存器)
2.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值