中断概念
为什么需要中断?主要是因为:
- 外设的处理速度一般慢于
CPU
。
CPU
不能一直等待外部事件。
所以设备必须有一种方法来通知CPU
它的工作进度,这种方法就是中断。
中断实现
在Linux
驱动程序中,为设备实现一个中断包含两个步骤:向内核注册中断、实现中断处理函数。
中断注册
request_irq
用于实现中断的注册功能:
int request_irq (
unsigned int irq, void ( *handler ) ( int, void *, struct pt_regs * ),
unsigned