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.org
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, xenomai.org
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.org
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.org
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.org
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, xenomai.org
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.org
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.org
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.org
Xenomai support for PowerPC systems got updated to Linux 2.6.25
Xenomai/SOLO
March 2008 by Philippe Gerum, xenomai.org (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.org
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.org
Xenomai support got added for Freescale MPC52xx systems,
especially for the LITE5200B board.
RTDM-native
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
[[http://www.kernel.org/pub/linux/kernel/projects/rt/][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.