Fusion 0.8 / VxWorks skin : problems using rt_intr_wait()

Marco Cavallini rtai at koansoftware.com
Wed Jun 22 07:43:43 CEST 2005


> I've been trying to get a simple 2-task program running in userspace using
> Fusion 0.8 and the VxWorks skin.  At this point, the program does nothing
> useful, but is being used for my own purposes of learning how things work.
>
> With the code shown below, I would expect to see the intrHandler task
> blocked, waiting for an interrupt (which will never occur, using this 
> code).
> While intrHandler is blocked at rt_intr_wait(), the second task,

> intGenerator, should be doing xnprintf's every 500 ms.  The code is here:

.snip.

> void intrHandler (int a0, int a1, int a2, int a3, int a4,
>                  int a5, int a6, int a7, int a8, int a9)
> {
>   xnprintf ("Start intrHandler task\n");
>
>   while (1)
>   {
>      int err;
>
>      err = rt_intr_wait(&intr_desc, TM_INFINITE);
>      if (err > 0)
>         xnprintf ("RX Intr\n");
>   }
> }

I think that your intrHandler have to exit immediately after executed the 
ISR, and not loop infinitely.

Ciao
Marco Cavallini
=====================================================
Koan s.a.s. - Software Engineering
Linux and WinCE solutions for Embedded and Real-Time Software
Klinux : the embedded distribution for industrial applications
  - Atmel AT91 ARM Third Party Consultant
  - Intel PCA Developer Network Member
  - Microsoft Windows Embedded Partner
Via Pascoli, 3  - 24121 Bergamo - ITALIA
Tel. (++39) 035-255.235 - Fax (++39) 178-223.9748
http://www.koansoftware.com  -  http://www.klinux.org
===================================================== 





More information about the Rtai mailing list