系统教程导读

收集整理了【Linux中断处理流程】操作系统教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2549字,纯文字阅读大概需要4分钟

系统教程内容图文

Windows使用教程,Windows系统教程,Windows优化教程

 

EXTINT0-EXTINT2:分别设置EINT0—EINT7、EINT8—EINT15、EINT16—EINT23的触发方式(高电平触发、低电平触发、下降沿触发、上升沿触发)。

  EINTPEND:这个是中断挂起寄存器,清除时要写1,后面还有几个是写1清除。当一个外部中断(EINT4-EINT23)发生后,那么相应的位会被置1。为什么没有EINT0-EINT3,因为它们分别由SRCPND寄存器的后4位控制。

  EINTMASK:这个简单,是屏蔽中断用的,也就是说位为1时,此次中断无效。

  内部中断有8个寄存器:

  SUBSRCPND:当一个中断发生后,那么相应的位会被置1,表示一个中断发生了。

  INTSUBMSK:与上一个是一伙的,中断屏蔽寄存器。

  SRCPND:当一个中断发生后,那么相应的位会被置1,表示一个或一类中断发生了。

  INTMSK:用来屏蔽SRCPND寄存器所标识的中断。但只能屏蔽IRQ中断,不能屏蔽FIQ中断。

  INTMOD:当INTMOD中某位被设置为1时,它对应的中断被设为FIQ,CPU将进入快速中断模式。

  PRIORITY:用于设置IRQ中断的优先级。

  INTPND:中断优先级仲裁器选出优先级最高中断后,这个中断在INTPND寄存器中的相应位被置1,随后,CPU进入中断模式处理它。同一时间内,此寄存器只有一位被置1。

  INTOFFSET:用来表示INTPND寄存器中哪位被置1了,即记录INTPND中位[x]为1的位x的值。清除INTPND、SRCPND时自动清除。

  以上寄存器描述摘自论坛帖子,源作者不详。

  二、中断系统软件抽象架构

  1)下图为Linux内核中断系统相关数据结构的关系图, 在《深入linux内核架构》中将中断系统分为三个层次:

  High-level Interrupt Service routine:设备驱动的中断处理程序,对应图中的irqacton。

  Interrupt Flow Handling:中断流程控制(原书翻译为中断电流控制,我认为不准,虽然该部分和信号源状态有关,例如边沿触发的中断或者电平触发的中断,但它主要负责仍是:何时调用硬件操作的mask、ack等流程上的控制)。

  Chip-Level hardware Encapsulation:硬件设备层,mask、ack等中断系统硬件寄存器的操作,对应到图中的irq_chip。

Windows使用教程,Windows系统教程,Windows优化教程

 
  
  以上就是给大家介绍的如何使的方法都有一定的了解了吧,好了,如果大家还想了解更多的资讯,那就赶紧点击官网吧。 
 
本文来自http://www.win7cn.com/如需转载请注明!推荐:win7纯净版

系统教程总结

以上是为您收集整理的【Linux中断处理流程】操作系统教程的全部内容,希望文章能够帮你了解操作系统教程Linux中断处理流程
如果觉得操作系统教程内容还不错,欢迎将网站推荐给好友。

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » Linux中断处理流程