D 编程/RTAI/用户空间中断
外观
RTAI 具有称为 RTAI USI 的用户空间中断。
但是在使用它们之前,必须将硬件中断映射到 Linux 中的中断。因此,有必要为 pci 设备构建一个内核模块,该模块注册中断。通过此操作,设备将获得一个新的中断号,该号可在 usi 中使用。
创建一个实时线程
在线程中创建一个循环,如下所示
public void run(){
const int irqNum = 5;
rt_request_irq_task( irqNum, null, RT_IRQ_TASK, 1 );
rt_startup_irq( irqNum );
rt_enable_irq( irqNum );
while( true ){
int overrun = rt_irq_wait( irqNum );
if( overrun == RT_IRQ_TASK_ERR )
break;
// if program should quit, break here
// Do the irq handling
rt_ack_irq();
}
rt_release_irq_task( irqNum );
}