Advertisement

Time-based interrupts Time-based interrupts

阅读量:

中断处理

当 CPU 运行程序时 遇到一些突发情况 CPU 被迫暂停当前的程序 转而处理这些突发情况 处理完毕后 CPU 返回被中断的位置并继续执行

中断分类:外围中断 VS 内部中断 可被屏蔽中断 VS 不可被屏蔽中断 矢量中断 VS 非矢量中断

LINUX中处理中断程序的架构

在这里插入图片描述

如果中断本身要处理的工作很少,则直接在顶半步完成。

中断实现

在Linux系统中的设备开发过程中,为实现一个完整的中断机制,需要遵循以下两个主要环节:
1.首先,将该中断信号被捕获并注册到内核机制中;
2.其次,构建相应的中断处理逻辑模块以完成相关的功能调用。

中断注册

其中在<linux/interrupt.h>头文件中声明的下列函数用于实现中断的注册功能:

复制代码
    int request_irq(unsigned int irq, irqreturn_t (*handler)(int irq, void *dev_id),  unsigned long flags, const char *device,  void *dev_i

全部评论 (0)

还没有任何评论哟~