Linux中断系列之中断接口函数(五)

本文详细介绍了Linux内核中关于中断管理的API接口,包括注册和释放中断、激活和禁止中断以及相关其他函数。重点讲解了request_irq和free_irq函数的使用,并阐述了如何控制中断状态,如local_irq_disable、local_irq_enable等。
摘要由CSDN通过智能技术生成
内核提供了一组API接口用于控制系统上的中断状态,我们需要了解并掌握这些API的使用。
一、注册和释放
IRQ线是宝贵的资源,驱动程序在使用前必须先注册申请(request_irq),不再使用时必须释放(free_irq)。在include/linux/interrupt.h中声明
/**
* @irp:要申请的IRQ号。很多设备使用IRQ都是预先分配好的,比如系统时钟和键盘
* @handler:要注册的中断服务程序
* @irqflags:中断类型,可以取一下三个值之一,或者它们的'|';
*   IRQF_SHARED:表示可以与其他设备共享一条中断线
*   IRQF_DISABLED:在本地CPU上,中断处理程序在禁止所有中断的情况下执行,可以不受其他中断干扰。如果没有则只有irq号对应的中断线屏蔽,其他中断是激活的。
*   IRQF_SAMPLE_RANDOM:表示这个中断可以用来产生内核熵(内核维护了一个熵池用来收集来自设备驱动程序和其它来源的环境噪音。理论上,熵池中的数据是完全随机的,可以实现产生真随机数序列。为跟踪熵池中数据的随机性,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值