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
