Difference between revisions of "Xenomai"
Line 48: | Line 48: | ||
PREEMPT-RT for bounded latencies. | PREEMPT-RT for bounded latencies. | ||
− | + | == EMAC Xenomai Package == | |
− | |||
− | |||
− | |||
Xenomai provides several device drivers and user-space utilities in it's distribution. | Xenomai provides several device drivers and user-space utilities in it's distribution. | ||
The device drivers rely on the Real Time Driver Model (RTDM) skin. Xenomai provides real-time drivers for | The device drivers rely on the Real Time Driver Model (RTDM) skin. Xenomai provides real-time drivers for | ||
Line 59: | Line 56: | ||
The user-space utilities and examples are used to benchmark the target system and demonstrate the API for the RTDM drivers. | The user-space utilities and examples are used to benchmark the target system and demonstrate the API for the RTDM drivers. | ||
− | EMAC provides the service of developing both real-time drivers and applications for Xenomai. | + | The standard EMAC Xenomai package provides the basic Xenomai build for the desired target. |
+ | This includes the kernel, filesystem, and SDK add-ons to start Xenomai development. | ||
+ | |||
+ | === Standard Features === | ||
+ | |||
+ | The base package's features include: | ||
+ | * Pre-installed Xenomai kernel and filesystem utilties | ||
+ | * SDK add-on for Xenomai development | ||
+ | * Basic Alchemy timer example | ||
+ | |||
+ | The kernel supports real-time features including: | ||
+ | * RTDM including real-time interrupts and driver API | ||
+ | * Timers | ||
+ | * Real-time UART Serial (HW Dependent) | ||
+ | * Real-time GPIO (HW Dependent) | ||
+ | |||
+ | === Additional Features === | ||
+ | Additional packages include: | ||
+ | * Real-time CAN (HW Dependent) | ||
+ | * Real-time SPI (HW Dependent) | ||
+ | |||
+ | |||
+ | If the drivers for a particular device do not exist, EMAC provides the service of developing both real-time drivers and applications for Xenomai. | ||
For more information contact sales: http://emacinc.com/ordering-information | For more information contact sales: http://emacinc.com/ordering-information | ||
Revision as of 12:55, 7 October 2015
Contents
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-time applications 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 architectures including 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-pipe patch for the sharing hardware resources between the kernels. EMAC uses the Cobalt configuration by default as it more closely matches our legacy Xenomai 2.x product orderings.
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 configuration currently requires no Xenomai-specific kernel features but the kernel should provide CONFIG_HIGH_RES_TIMERS and PREEMPT-RT for bounded latencies.
EMAC Xenomai Package
Xenomai provides several device drivers and user-space utilities in it's distribution. The device drivers rely on the Real Time Driver Model (RTDM) skin. Xenomai provides real-time drivers for CAN, serial, IPC, networking, data acquisition, and testing using the RTDM. These drivers provided can be used as a reference when creating drivers for new devices.
The user-space utilities and examples are used to benchmark the target system and demonstrate the API for the RTDM drivers.
The standard EMAC Xenomai package provides the basic Xenomai build for the desired target. This includes the kernel, filesystem, and SDK add-ons to start Xenomai development.
Standard Features
The base package's features include:
- Pre-installed Xenomai kernel and filesystem utilties
- SDK add-on for Xenomai development
- Basic Alchemy timer example
The kernel supports real-time features including:
- RTDM including real-time interrupts and driver API
- Timers
- Real-time UART Serial (HW Dependent)
- Real-time GPIO (HW Dependent)
Additional Features
Additional packages include:
- Real-time CAN (HW Dependent)
- Real-time SPI (HW Dependent)
If the drivers for a particular device do not exist, EMAC provides the service of developing both real-time drivers and applications for Xenomai.
For more information contact sales: http://emacinc.com/ordering-information