[Xenomai-help] POSIX API

2012-05-15 Thread ali hagigat
I am looking for all POSIX functions of Linux, i wonder if any body
has POSIX.1-2008 manual or IEEE1003.1 or a similar document.
Does xenomai change libc.a ? As far as I understood, xenomai adds new
functions(they start with rt_), besides it changes some of posix
functions while it keeps some posix functions untouched.
Is there any book regarding to the real time programming in xenomai?
Sorry for too many questions...
Regards

___
Xenomai-help mailing list
Xenomai-help@gna.org
https://mail.gna.org/listinfo/xenomai-help


Re: [Xenomai-help] POSIX API

2012-05-15 Thread Gilles Chanteperdrix
On 05/15/2012 10:02 AM, ali hagigat wrote:
 I am looking for all POSIX functions of Linux, i wonder if any body
 has POSIX.1-2008 manual or IEEE1003.1 or a similar document.
 Does xenomai change libc.a ? As far as I understood, xenomai adds new
 functions(they start with rt_), besides it changes some of posix
 functions while it keeps some posix functions untouched.

Functions which start with rt_ are part of the native skin. The
implementation of the posix skin does not change libc.a, it implements a
new library libpthread_rt.so, and the function substitution is done at
link-edition time by using the linker --wrap option.

 Is there any book regarding to the real time programming in xenomai?

You can start here:
http://www.xenomai.org/index.php/Included_documentation_summary

For instance the --wrap trick is explained here:
http://www.xenomai.org/index.php/Porting_POSIX_applications_to_Xenomai#Under_the_hood:_the_--wrap_flag

-- 
Gilles.

___
Xenomai-help mailing list
Xenomai-help@gna.org
https://mail.gna.org/listinfo/xenomai-help


Re: [Xenomai-help] Xenomai on the TS-7553 ARM SBC

2012-05-15 Thread aubin . rebillat
 To summarize, there are two states in the system:
 
 Either Linux is handling the timer, in which case:
 - ipipe_mach_timerstolen == 0
 - ipipe_mach_acktimer is called to acknowledge the linux timer
 interrupt
 - linux timer interrupt routine is called for each timer interrupt,
 HZ
 times a second, and in charge to reprogram the timer hardware if it
 needs to be reprogrammed
 
 Either xenomai is handling the timer, in which case:
 - ipipe_mach_timerstolen == 1
 - ipipe_mach_acktimer is called to acknowledge the xenomai timer
 interrupt
 - ipipe_mach_set_dec is called by xenomai to program the next timer
 interrupt
 
 linux timer interrupt is called HZ times a second, but should not
 touch
 anything related to the timer hardware, because that part is handled
 by
 xenomai now (vie ipipe_mach_set_dec).
 
 if CONFIG_IPIPE is enabled and CONFIG_XENOMI is disabled, only the
 first
 state happens.
 
 if CONFIG_XENOMAI is enabled, as soon as xenomai is started, we enter
 the second state.
 

Ok this is pretty much what I understood but my problem was that 
ipipe_mach_set_dec was never called once the skin services were started. 

I really didn't see how my code could influence this so I checked the 
bug fixes for Xenomai 2.5 and i found one which was not fixed in my 
version of xenomai. The bug was the return value of rthal_timer_request.

I applied the fix and Xenomai is now booting fine on my TS-7553.

I will now perform tests on it to insure the stability of the system and 
the latency.

Thank you very much for your help,

Best regards,

-- 
Aubin REBILLAT

___
Xenomai-help mailing list
Xenomai-help@gna.org
https://mail.gna.org/listinfo/xenomai-help


Re: [Xenomai-help] Xenomai on the TS-7553 ARM SBC

2012-05-15 Thread Gilles Chanteperdrix
On 05/15/2012 04:34 PM, aubin.rebil...@free.fr wrote:
 I really didn't see how my code could influence this so I checked the 
 bug fixes for Xenomai 2.5 and i found one which was not fixed in my 
 version of xenomai. The bug was the return value of rthal_timer_request.

Oh, I missed that, don't do that. Please use Xenomai 2.6. It is backward
compatible with old I-pipe patches.

-- 
Gilles.

___
Xenomai-help mailing list
Xenomai-help@gna.org
https://mail.gna.org/listinfo/xenomai-help