没有合适的资源?快使用搜索试试~ 我知道了~
Linux设备驱动中断处理介绍
0 下载量 140 浏览量
2020-03-04
11:52:07
上传
评论
收藏 45KB DOC 举报
温馨提示
试读
5页
本文介绍了Linux设备驱动中断处理的方法。
资源推荐
资源详情
资源评论
Linux 设备驱动中断处理介绍
与 设备驱动中中断处理相关的首先是申请与释放 的 :
和 。
的原型为:
!
"
是要申请的硬件中断号;
是向系统登记的中断处理函数,是一个回调函数,中断发生时,系统调用这
个函数, 参数将被传递;
是中断处理的属性,若设置 #$%&'%,标明中断处理 程序是快速处
理程序,快速处理程序被调用时屏蔽所有中断,慢速处理程序不屏蔽;若设置
##(,则多个设备共享中断, 在中断共享时会 用到,一般设置为这个设备
的 结构本身或者 $'。
的原型为:
"
另外,与 中断息息相关的一个重要概念是 中断分为两个半部:上半 部
()和下半部)!。上半部的功能是*登记中断*,当一个中断发生时,
它进行相应地硬件读写后就把中断例程的下半部挂到该设备的下半部执行队列中去。因此,
上半部 执行的速度就会很快,可以服务更多的中断请求。但是,仅有*登记中断*是远远不
够的,因为中断的事件可能很复杂。因此, 引入了一个下半部,来完 成中断事件的
绝大多数使命。下半部和上半部最大的不同是下半部是可中断的,而上半部是不可中断的,
下半部几乎做了中断处理程序所有的事情,而且可以被新的 中断打断!下半部则相对来说
并不是非常紧急的,通常还是比较耗时的,因此由系统自行安排运行时机,不在中断服务
上下文中执行。
实现下半部的机制主要有 + 和工作队列。
+ 基于 ,其使用相当简单,我们只需要定义 + 及其处理函
数并将二者关联:
!,+"--定义一个处理函数:
资源评论
weixin_38741950
- 粉丝: 2
- 资源: 962
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功