[oe] Xenomai OpenEmbedded cross compile test applications

Charlton, John john.charlton at tycoelectronics.com
Fri Dec 19 15:16:09 UTC 2008


Using the cross compile environment for OpenEmbedded i686 angstrom of xenomai-2.4.4 described below I built the xenomai test application trivial-periodic in xenomai-2.4.4/examples/native.  I copied the executable to the target system.  Since there is no /etc/ld.so.conf.d directory in the OE root file system, I made one and put the xenomai library path in the xenomai.conf file.  The xenomai.conf file just has the one directory: /usr/local/lib which does not even exist in the target file system.  I modified xenomai.conf to: /usr/xenomai/lib where the xenomai library files are actually located.  I also copied xenomai.conf to /etc and set LD_LIBRARY_PATH=/usr/xenomai/lib.

When I execute the trivail-periodic application on the target (NANO-7240) the console hangs and nothing happens.  I also ran trivial-periodic on a non cross compiled laptop build of xenomai and it runs as expected displaying the times on the console output. I login to the target using ssh and it is alive.  The trivial-periodic process shows up in the ps list as:
 3077 root            Z   [trivial-periodi]
So it is a zombie.  I can kill it with kill -9 3077 and that releases the console.
Any help on this issue is welcome.

Also, how do I run the xenomai/src/testsuite applications in a target (non build) environment?

Background:
I have applied the xenomai 2.4.4 patch to kernel 2.6.25.11.  I built the kernel and installed it on a ext2 flash partition and it boots on the target system. The /proc/xenomai directory shows up so xenomai seems to be running.  I built the xenomai user mode with the following commands:

Set the following:
export XENOMAI_ROOT=/home/us075929/projects/oe/xenomai-2.4.4
export XENOMAI_BUILD=/home/us075929/projects/oe/build-xenomai-2.4.4

cd $XENOMAI_BUILD
$XENOMAI_ROOT/configure --disable-x86-tsc --host=i686-angstrom-linux

I am not sure what tsc refers to.  The only two parameters in my kernal configuration that come up are 'time stamp counter' and 'touch screen device support' both of which are disabled.  Since TSC is enabled by default and strong binding I disabled it in the xenomai configuration.

The xenomai configure goes smoothly.  I then install xenomai user support to a staging directory as follows:

export DESTDIR=/home/us075929/projects/oe/staging-linux-2.6.25.11

cd $XENOMAI_BUILD
make install

The $DESTDIR/dev and $DESDIR/usr/xenomai are installed as expected.  I copy those directories to the target root file system, boot the target and run the trivial-periodic application as described above.

--John




More information about the Openembedded-devel mailing list