Xenomai

From wiki.emacinc.com
Revision as of 10:13, 7 October 2015 by Mwelling (talk | contribs)
Jump to: navigation, search
TODO: {{#todo: InProgress (10.06.2015-13:07->MW+)|Michael Welling|OE 5.0,MW}}

== Background ==Xenomai is a real-time operating system (RTOS) API designed to work alongside Linux. It provides a means of migrating from a proprietary RTOS to a Linux based system.This also allows for native Linux applications to be run side-by-side with real-timeapplications on the same target.Xenomai provides a generic real-time core scheduler called the nucleus.Different RTOS APIs are provided via skins abstracting the nucleus.Xenomai is designed to run on many different target architecturesincluding x86, ARM, Blackfin and NIOS2.== General Information ==As of Xenomai 3, there are two possible kernel configurations available: Cobalt and Mercury.The Cobalt core configuration is the traditional co-kernel configuration and is the evolution of the Xenomai 2 architecture.The Linux kernel is patched to allow the Cobalt core to deal with real-time activities including interrupts and scheduling.The RTOS APIs provide an interface to the Cobalt core from user-space. The co-kernel configuration relies on the Adeos I-pipepatch for the sharing hardware resources between the kernels. The Mercury core is a single kernel configuration that relies on the Linux kernel for the real-time capabilities.Typically this requires PREEMPT-RT support to be enabled in the kernel to meet timing requirements.The non-POSIX real-times APIs are emulated over a native threading library preferably NPTL. The Mercury configurationcurrently requires no Xenomai-specific kernel features but the kernel should provide CONFIG_HIGH_RES_TIMERS andPREEMPT-RT for bounded latencies.== Xenomai ==Xenomai provides several device drivers and userspace utilities in it's distribution.The device drivers rely on the Real Time Driver Model (RTDM) skin. Xenomai provides real-time drivers forCAN, serial, IPC, networking, data acquisition, and testing using the RTDM. These drivers provided canused as a reference when creating drivers for new devices.The userspace utilities and examples are used to benchmark the target system and demonstrate theAPI for the RTDM drivers.== Further Information ==

===== Where to Go Next =====* https://xenomai.org/start-here/* https://xenomai.org/introducing-xenomai-3/* https://xenomai.org//documentation/xenomai-3/html/xeno3prm/* https://en.wikipedia.org/wiki/Adaptive_Domain_Environment_for_Operating_Systems* https://en.wikipedia.org/wiki/Native_POSIX_Thread_Library