Neusoft Institute of Information * 教育创造学生价值 Neusoft Institute of Information * 教育创造学生价值 Neusoft Institute of Information * 教育创造学生价值 驱动程序设计——中断处理 主讲教师:董祥千 中断概念 为什么需要中断? 外设的处理速度一般慢于CPU CPU不能一直等待外部事件 所以设备必须有一种方法来通知CPU它的工作进度,这种方法就是中断。 中断响应流程和中断服务程序完成的工作 中断处理过程 中断控制器的控制原理 中断实现 在Linux驱动程序中,为设备实现一个中断包含两个步骤: 向内核注册中断 实现中断处理函数 中断注册 request_irq用于实现中断的注册功能: int request_irq(unsigned int irq, void (*handler)(int, void*, struct pt_regs *), unsigned long flags, const char *devname, void *dev_id) 返回0表示成功,或者返回一个错误码 中断注册(参数) unsigned int irq 中断号。 void (*handler)(int,void *,struct pt_regs *)
原创力文档

文档评论(0)