Gilles,

I see the problem.
I think the best (easiest) way is not using the libasound library but using 
the kernel driver directly.

Then using "borderline" threads for the non-realtime tasks.

If this is right I keep still one question,

What can be used as performance measurement tool.
The normal "top" Linux command will only show IRQ's taking almost 100% of 
the cpu loading. I gues that must be the Xenomai schedular but how can I 
display the loading the Xenomai threads realy take?

Ernst-Jan

> van der Linden wrote:
> > Jan,
> >
> > I have two real-time requirements:
> >
> > 1.  I have to get audio from ALSA and deliver it to a custom FPGA driver 
> > and
> > vice versa each 5 miliseconds.
> >      So, I will set the chunk size for ALSA in such a way I get 5 ms 
> > audio
> > samples. From the FPGA I also get chunks of 5ms.
> >
> >      There may be some jitter in delivering between ALSA and FPGA but 
> > think
> > of one or two miliseconds.
> >
> > 2. I want to receive 5ms audio from ALSA and after filtering and 
> > processing
> > it I have to sent it back to ALSA.
> >     This must be done within 10ms.
>
> As long as you use ALSA, you will not be able to gain anything by using
> Xenomai: in order to access the ALSA driver a real-time thread will
> enter secondary mode, that is loose its real-time characteristic, and
> you will get the same latencies as you would get with Linux. So, for
> best performances, you will have to rewrite part of the Audio driver
> using Xenomai services. The recommended way being to use the RTDM skin
> to write a real-time driver.
>
> -- 
>
>
>     Gilles.
> 

_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to