linux内核之中断

本文介绍了Linux内核中断的基本概念,包括中断请求线(IRQ)、中断处理程序的上下半部、注册中断处理程序的`request_irq()`函数,以及中断处理程序的编写和中断上下文的限制。强调中断处理应快速并尽可能将复杂任务移到下半部执行。
摘要由CSDN通过智能技术生成

Linux内核学习从零单排之三:中断

1.不同的设备对应的中断不同,每个中断都有一个唯一的数字标识,这些中断值通常称为中断请求线(IRQ)。

2.在响应一个中断的时候,内核会执行一个函数,就叫做中断处理程序。中断处理程序就是被内核调用来响应中断的。既想要中断处理程序运行快,又想完成的工作量多,鉴于此,我们一般把中断处理分为两个部分:中断处理程序是上半部(top half),能够被允许稍后完成的工作会推迟到下半部(bottom half)。

3.注册中断处理程序:

 驱动程序可以通过request_irq()函数注册一个中断处理程序(声明文件在:<linux/interrupt.h>),并且激活给定的中断线以处理中断。

int request_irq(unsigned int irq,irq_handler_t handler,unsigned long flags,const char *name,void *dev)

irq表示要分配的中断号。handler是一个指针,只想处理这个中断的实际中断处理程序。第三个参数flags可以为0,也可能是下列一个或多个标识的位掩码(其定义在<linux/interrupt.h>中):1)IRQ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值