linux内核研究-3-中断

linux内核研究-3-中断

 

1,还是惯例,本节将用一个小例子来说明中断的工作原理和过程以及如何在驱动中使用中断。

2,说在前面
1》中断和异常是有区别的。异常是一种同步中断。上一节说到的系统调用使用的内核陷入就是异常(软中断)。
2》中断的实现需要硬件的支持,比如要让硬件工程师把设备的某个引脚连接到CPU的跟中断相关的某个引脚。
3》中断比较特殊,不能占用太多时间,所以有必要把需要处理很多事情的ISR分成中断上下文,上文负责必须的处理,剩下的交给下文。
4》中断处理程序不能重入,如果你确定没有SMP情况,可以暂时不加竞争保护措施。

3,中断,先参考下图,图中只有一个键盘,现在假设还有一个鼠标和键盘共用一根中断线。
1》 你按下键盘上的一个键,这时硬件会产生一个电信号
2》这个电信号传给中断控制器
3》中断控制器产生一个电信号,给CPU的某个引脚
4》CPU发现这个引脚的电信号,PC(程序计数器)指向对应的地址

好硬件完成的工作到此为止,剩下的交给软件
5》这个地址上有内核事先填充的中断向量(一般情况是一条跳转指令)
6》内核检查这条中断线上有没有注册中断处理程序。
7》如果没有,中断返回。
8》如果有,依次运行这条中断线上注册的所有中断处理函数。
9》中断返回。

4,在驱动程序中如何使用中断
1》先让硬件工程师帮忙弄一根中断线(有时候不用)。
2》向内核注册中断。其中一个参数是ISR函数指针。
3》实现ISR。需要注意的是,你的ISR,必须知道这次中断是不是你的设备产生的,具体如何知道,自己想办法,呵呵。

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值