benoit at tionex.de
Wed Oct 10 03:10:52 CEST 2007
I used USI for a long time now with an older rtai version. (3.2, i think)
Now i upgraded to 3.5, and my program is not working any more.
There is a kernel "Ooops", and the calltrace showed me, that it happens
in the rt_request_irq_task.
In my software with old rtai i called
rt_task_init_schmod( id, 1, 0, 0, RT_SCHED_RR, 1 )
and then after entering hardrealtime
rt_request_irq_task( irq, NULL, RT_IRQ_TASK, 1 )
Now my system freezes.
So I have a bunch of questions...
1.) any idea what kind of related behaviour was changed in rtai, that
can affect this?
2.) When I try to use RT_SCHED_FIFO, as it is done in the usi example,
NULL is returned. Why?
3.) when I pass the NULL into rt_request_irq_task, the system freezes,
when i pass the handler (from rt_task_init_schmod return val) I get the
The interrupt is generated from a pci card. I wrote a dummy linux kernel
module, that answers every interrupt call with IRQ_HANDLED. The only
purpose of the module is to get the irq mapped in linux. I want to do
the complete handling in my lxrt application.
Is this the right way?
Is there any example of how the kernel mod shall be implemented and how
the lxrt application interrupt loop shall be implemented?
Sorry for asking so much questions.
More information about the Rtai