Le 04/06/2012 21:28, Gilles Chanteperdrix a écrit :
On 06/04/2012 09:26 PM, Marc Le Douarain wrote:
Hello,

I've some difficulties to run Xenomai with a little 'hello' example
(that create/start a task)
on a target 486 processor (without fpu).

I successfully compiled the Linux kernel 2.6.38.8 with
adeos-ipipe-2.6.38.8-x86-2.11-02.patch (Xenomai version is 2.5.6)
(modify file xenomai-2.5.6/include/asm-x86/calibration.h
"current_cpu_data"->"cpu_info" were required)

dmesg extract:
[    0.000000] I-pipe 2.11-02: pipeline enabled.
...
[    0.140008] CPU: Cyrix Cx486SLC
...
[    1.440804] Xenomai: hal/i386 started.
[    1.448804] Xenomai: scheduling class idle registered.
[    1.452804] Xenomai: scheduling class rt registered.
[    1.488806] Xenomai: real-time nucleus v2.5.6 (Wormhole Wizards) loaded.
[    1.496807] Xenomai: starting native API services.
[    1.500807] Xenomai: starting POSIX services.
[    1.504807] Xenomai: starting RTDM services.
It may be due to the omit-frame-pointer option, please try adding
-fno-omit-frame-pointer to the CFLAGS
Thanks for the tip,
now it seems to work correctly !
I've used the following command line to configure Xenomai user-part :
"./configure CFLAGS="-march=i486 -fno-omit-frame-pointer" LDFLAGS="-march=i486" --disable-x86-sep --disable-x86-tsc"

I've savagely modified latency.c, to avoid libm and double variables in the code,
and now when launching a 10millisecs period,
without load I've at worst about 170 microsecs, and best 90 microsecs.
and with load (dd if=/dev/zero of=/dev/null & telnet session while ls;do ls;done & ping -f) :
worst 200 microsecs, and best 110 microsecs.
For you, seems to be correct for an embedded equivalent 486 at 300 mhz ?
(Linux bogomips gives : 96.51)

Again, many thanks for the gcc optimize flag to avoid on it ! ;-)

Bye.


_______________________________________________
Xenomai mailing list
[email protected]
http://www.xenomai.org/mailman/listinfo/xenomai

Reply via email to