中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。
在 Linux 中,中断处理是操作系统与硬件设备之间通信的重要方式之一。Linux 内核中的中断处理程序负责响应硬件设备发出的中断信号,并执行相应的处理;
Linux 中断处理的一般流程:
硬件中断触发->中断控制器响应->中断处理程序调用->中断处理->中断处理程序完成
在驱动程序中实现中断:
1、获取中断号
2、请求中断
request_irq(unsigned int irq, irq_handler_t handler, unsigned long flags, const char * name, void * dev);
参数1:中断号
参数2:中断处理函数
参数3:中断类型
参数4:中断处理函数的标识名称