Skip to main content.

Xenomai Projects

DENX Software Engineering has a long standing track record of using Xenomai and pushing forward it's development. On behalf of our customers, a lot of features and adaptions have been implemented in the past few years. All results of such work are either directly available from the mainline Xenomai respository, or from other free download sites. The following Xenomai projects and features have been developed or driven by DENX, often in close co-operation with key experts of the Xenomai core development team:

Xenomai Real-Time Support for i.MX51

April 2010 by Gilles Chanteperdrix,

Xenomai support for the Freescale i.MX51 processor was implemented. A soon to be released I-pipe patch for Linux 2.6.31 can be found here: adeos-ipipe-2.6.31-arm-1.15-01.patch . It should apply cleanly on the "rel_imx_2.6.31_10.02.00" tag in Freescale's LTIB source tree (see branch tracking-fsl-imx_2.6.31 in our linux-2.6-denx git repository. Then, the i.MX51 specific patch can be found here: adeos-ipipe-2.6.31-arm-1.15-01-imx51.patch .

Major Xenomai FPU cleanup for PowerPC

July 2009 by Philippe Gerum,

Fix support of the Floating Point Unit (FPU) on PowerPC systems. There were some serious issues, especially there were bad interactions between the real-time and regular Linux FPU activities.

Xenomai Real-Time Support for OMAP3 (Beagleboard)

July 2009 by Gilles Chanteperdrix,

Xenomai support got added for ARM Cortex A8 processors, especially for the TI OMAP3 based Beagle Board.

Xenomai Real-Time Support for MPC82xx

June 2009 by Philippe Gerum,

Xenomai support got added for Freescale MPC82xx systems, especially for the MPC8272ADS board.

Xenomai for PowerPC 32-Bit/SMP (mvme7100 Board)

May 2009 by Philippe Gerum,

Xenomai support got added for 32-bit PowerPC systems running in SMP configurations, especially for the Emerson MVME7100 VME board based on the Freescale MPC8641D processor.

Until then, PowerPC SMP support was only available on 64-bit configurations.

Support for SCHED_SPORADIC scheduling class

February 2009 by Philippe Gerum,

Support for the SCHED_SPORADIC scheduling class was added to the Xenomai 2.5 core. This involved developing the related set of scheduler operations to plug into the generic scheduler framework.

An example of this can be found by looking at the ksrc/nucleus/sched_tp.c file, that implements the temporal partitioning scheduling class, on top of the generic framework, commonly used in IMA systems for instance.

The SCHED_SPORADIC class support also got added to the POSIX skin. This involved routing a new set of requests issued to the POSIX skin by applications to the generic scheduler framework, in order to exploit the addition mentioned above (typically, sched_setscheduler() and related calls).

Xenomai Real-Time Support for MPC5121

February 2009 by Wolfgang Grandegger, DENX Software Engineering

Xenomai support got added for Freescale MPC512x systems, especially for the MPC5121ADS board.

Xenomai Real-Time Support for MPC836x

September 2008 by Philippe Gerum,

Xenomai support got added for Freescale MPC836x systems, especially for the MPC8360EA-MDS board.

Xenomai Real-Time Support for i.MX31

August 2008 by Gilles Chanteperdrix,

Xenomai support for the Freescale i.MX31 processor was implemented. Later, in February 2009, this was adapted for latest versions of Linux and Xenomai running on the QONG board.

Benchmark results can be found here.

Realtime Test Results and Getting Started with Xenomai

March 2008 by Wolfgang Grandegger, DENX Software Engineering

To demonstrate the realtime capabilities available with Xenomai on typical embedded platforms we developed the gpioirqbench test setup measuring response times to external stimuli. The setup also works with RT preempt and "standard" Linux kernels allowing for easy comparison of the total system response times.

Geared for an easy start with Xenomai an Application Note describing in a cookbook style how to compile and run Xenomai with our Linux tree has been made available in our application notes area also.

Xenomai Real-Time Support for Linux 2.6.25 / PowerPC

March 2008 by Philippe Gerum,

Xenomai support for PowerPC systems got updated to Linux 2.6.25


March 2008 by Philippe Gerum, (co-sponsored by OSADL)

Xenomai/SOLO is a solution for RTOS emulation for standard Linux. It is intended to be the groundwork for porting the Xenomai emulators natively over the PREEMPT_RT kernel.

Unlike the co-kernel based Xenomai version, SOLO does not require any kernel support from additional modules or patches. It is fully based on the standard POSIX library, and runs as a regular process controlled by a single image Linux kernel.

As a first step, a VxWorks emulator has just been rebuilt over this new framework. Later (and not in the scope of the DENX sponsored project) a pSOS emulation interface has been added, too.

This framework is not another window-dressing of the existing Xenomai 2.x core, but really something 100% redesigned and rewritten for running on a native real-time Linux implementation, while keeping the opportunity to adapt it back to a co-kernel system. Philippe Gerum wants to make both the native and co-kernel Xenomai incarnations converge on the basis of this new core interface for Xenomai 3, so that we would be able to share the APIs between them. In short, SOLO is a necessary intermediate step on the road to Xenomai 3.

For details, please see the README.

Xenomai Real-Time Support for 64bit SMP PowerPC

August 2007 by Philippe Gerum,

Xenomai support got added for P.A. Semi PA6T-1682M multicore systems, especially for the P.A. Semi Electra board. This was the first support for 64bit SMP PowerPC systems in the (then) new arch/powerpc configuration.

Xenomai Real-Time Support for MPC5200

May 2007 by Philippe Gerum,

Xenomai support got added for Freescale MPC52xx systems, especially for the LITE5200B board.


April 2007 by Wolfgang Grandegger, DENX Software Engineering (co-sponsored by OSADL)

RTDM-native is a port of RTDM over native Linux with the real-time preemption and high-resolution timer [[][patch]. RTDM, the Real-Time Driver Model, is an approach to unify the interfaces for developing device drivers and associated applications under real-time Linux. It is currently available for the dual-kernel hard real-time Linux extensions Xenomai and RTAI. This port permits to use RTDM drivers like RTserial, RT-Socket-CAN and soon RTnet under Linux-rt as well. RTDM-native is on the road map of Xenomai 3 aiming at support for native preemption.

For details please see here.