linux2.6 驱动开发入门:中断

本文介绍了Linux中断的概念和分类,包括内部中断、外部中断、可屏蔽中断和不可屏蔽中断。详细讲解了Linux中断编程框架,如顶半部和底半部的执行机制,以及如何申请、释放中断。还讨论了中断共享的实现方法,如使用IRQF_SHARED标识,并介绍了tasklet和工作队列作为底半部处理的手段。
摘要由CSDN通过智能技术生成

1、简介:

中断的概念:

指CPU在执行过程中,出现某些突发事件急待处理,CPU暂停执行当前程序,转去处理突发事件,处理完后CPU又返回原程序被中断的位置继续执行。

中断的分类:

内部中断和外部中断:

内部中断:中断源来自CPU内部(软件中断指令、溢出、触发错误等);

外部中断:中断源来自CPU外部,由外设提出请求。

屏蔽中断和不可屏蔽中断:

可屏蔽中断:可以通过屏蔽字被屏蔽,屏蔽后,该中断不再得到响应;

不可屏蔽中断:不能被屏蔽。

向量中断和非向量中断:

向量中断:CPU通常为不同的中断分配不同的中断号,当检测到某中断号的中断到来后,就自动跳转到与该中断号对应的地址执行;

非向量中断:多个中断共享一个入口地址。进入该入口地址后再通过软件判断中断标志来识别具体哪个是中断。

也就是说向量中断由软件提供中断服务程序入口地址,非向量中断由软件提供中断入口地址。

小知识:Linux中查看/proc/interrupts文件可以获得系统中断的统计信息。如下图所示:

第一列是中断号 第二列是向CPU产生该中断的次数

2、Linux中断编程:

2.1、框架:

Linux将中断分为:顶半部(top half)和底半部(bottom half)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值