嵌入式系统中断.pptxVIP

  • 5
  • 0
  • 约2.07万字
  • 约 51页
  • 2022-10-27 发布于上海
  • 举报
嵌入式系统中断会计学主要内容第1页/共51页 中断的基本知识 中断描述符表的初始化 中断处理 中断的下半部处理机制 中断的应用-时钟中断中断的基本概念第2页/共51页 硬中断的概念硬中断即和硬件相关的中断也就是通常意义上的“中断处理程序”,它是直接处理由硬件发过来的中断信号的。 中断执行的过程当某个设备发出中断请求时,CPU停止正在执行的指令, 转而跳到包括中断处理代码或者包括指 向中断处理代码的转移指令所在的内存区域。这些代码一般在CP U的中断方式下运 行。就回去自己驱动的设备上去看看设备的状态寄存器以了 解发生了什么事情,并进行相应的操作。当中断处理完毕以后,CPU将恢复到以前的状态,继续执行中断处理前正在执行的指令。第3页/共51页中断的流程如图i8259.c负责对外部中断的支持。8259芯片负责接收外部设备——如定时器、键盘、声卡等——的中断,两块8259共支持16个中断 第4页/共51页Linux 中断处理特色第5页/共51页分 为上半部和下半部执行上 半部屏蔽所有中断下 半部允许中断,执行几乎所有中断第6页/共51页中断常识中断控 制的主要优点: CPU只 有在I/O需要服务时才响应外部中断: 外部 设备所发出的I/O请求内部 中断: 也称之为“异常”,是为解决机器运行时所出现的某些随机事件及编程方便而出现的第7页/共51页中断向量 :中 断源的编号外设可屏蔽中断:屏蔽外 部I/O请求 异常及非 屏蔽中断 :CPU内部中断或计算机内部硬件出错引起的异 常中断描述符表 :描述 中断的相关信息中断的 相 关汇 编指令 :第8页/共51页中断向量-中断源的类型中断 向量: 每个中 断源都被分配一个8位无符号整数作为类型码,即中断向量中断的种类:中断:外部 可屏蔽中断外部非 屏蔽中断异常:不 使用中断控制器,不能被屏蔽故 障陷 阱第9页/共51页外设可屏蔽中断Intel x86通过两片中断控制器8259A来响应15个外中断源,每个8259A可管理8个中断源。外部设备拥有相应权限时 ,可以向特定的中断线发送中断请求信号外部I/O请求的屏蔽:从CPU的角度, 清除eflag的中断标志位从中断控制器的角度,将中断屏蔽寄存器的相应位置位第10页/共51页异常及非屏蔽中断 异常就是CPU内部出现的中断,即在CPU执行特定指令时出现的非法情况。非屏蔽 中断就是 计算机内部硬件出错时引起的异常情况 Intel把非屏蔽中断作为一种异常来处理在CPU执行一个 异常处理程序时,就不再为其他异 常或可屏蔽中断请求服务 中断的相关数据结构 第11页/共51页从数据结 构入手,应该说 是分析操作系统源码最常用的和最主要的方法。因为操 作系统的几 大功能部件,如进程管理、 设备管 理、内存 管理等, 都可以通过对其相应的数据结 构的分析来弄懂 其实现机制。 很好的掌握这种方法, 对分析Linux内核大有帮助。中断向量在保护模式下的实现机制是中断描述符表 (Interrupt Descriptor Table, IDT),中断描述符表的结构如图3.4所示。中断描述符 表即中断向量表相当于一个数组,包含256个中断描述符,每个中断描述符8位,对应硬件提供的256个中断服务 例程的入口,即256个中断向量。IDT的位置由idtr确定,idtr是个48位的寄存器,高32位是IDT的基址,低16位为IDT的界限(通常为2k=256*8)。 中断的相关数据结构第12页/共51页图 3.4 Linux 的中断处理数据结构 中断的相关数据结构第13页/共51页在 i386 系统中,Linux 启动时要设置系统的中断描述符表IDT。IDT 中包含各个中断(以及异常,诸如浮点运算溢出)的服务程序地址,中断服务程序地址由 Linux 提供。每个设备驱动程序可以在图 3.4 所示的结构(irq_action)中注册自己的中断及中断处理程序地址。Linux 的中断服务程序根据 irq_action 中的注册信息调用相应的设备驱动程序的中断处理程序。和硬件相关的中断处理代码隐藏在中断服务程序中,这样,设备驱动程序的中断处理程序可在不同平台之间 方便移植。一般来说,CPU 在处理中断时,首先要在堆栈中保存与 CPU 指令执行相关的寄存器(例如指令计数 寄存器),然后调用中断服务程序,中断服务程序结束时 再恢复这些寄存器。 中断的相关数据结构第14页/共51页irq_action 实际是一个数组,其中包含指向 irqaction 的指针,每个数组元素分别定义一个 IRQ。Linux 内核提供相应的操作函数,设备驱动程序可调用这些操作函数设置相应的中断处理函数。一般在系统启动时,由各个设备驱动程序通过如下途径获取相关的设备 IRQ 并设置

文档评论(0)

1亿VIP精品文档

相关文档