【发布时间】:2013-08-01 14:50:34
【问题描述】:
谁能解释一下标志,IRQF_TRIGGER_NONE在文件/kernel/linux/include/interrupt.h中声明了linux。 如何使用这个标志?
【问题讨论】:
标签: linux-kernel interrupt-handling
谁能解释一下标志,IRQF_TRIGGER_NONE在文件/kernel/linux/include/interrupt.h中声明了linux。 如何使用这个标志?
【问题讨论】:
标签: linux-kernel interrupt-handling
IRQF_TRIGGER_NONE 使用 0 位掩码定义,表示它不暗示任何类型的边沿或电平触发的中断行为。
#define IRQF_TRIGGER_NONE 0x00000000
因此使用request_irq() 和IRQF_TRIGGER_NONE 注册ISR 不会修改IRQ 的现有配置。这在我们只想在当前配置的模式下为硬件注册 ISR 的情况下很重要 [1]。
【讨论】:
IRQF_TRIGGER_NONE 标志是一种快速的方法,可以简单地继续使用中断,就像它已经设置(在引导加载程序中或更早的内核中)并为其注册 ISR 一样。识别当前配置的模式通常是通过读取相关设备上的相应寄存器来完成的。