Xenomai is a free software framework adding real-time capabilities to the mainline Linux kernel. Xenomai also provides emulators
of traditional RTOS APIs, such as VxWorks
®
and pSOS
®
. Xenomai has a strong focus on embedded systems, although it runs
over mainline desktop and server architectures as well.
Xenomai 3 is the new architecture of the Xenomai real-time framework, which can run seamlessly side-by-side Linux as a co-
kernel system, or natively over mainline Linux kernels. In the latter case, the mainline kernel can be supplemented by
the
to meet stricter response time requirements than standard kernel preemption would bring.
One of the two available real-time cores is selected at build time.
Xenomai can help you in:
• Designing, developing, and running a real-time application on Linux.
• Migrating an application from a proprietary RTOS to Linux.
• Optimally running real-time applications alongside regular Linux applications.
Xenomai features are supported for LS1021A-TSN, LS1043ARDB, LS1046ARDB, LS1028ARDB, and i.MX6Q SabreSD. More
information can be found at the Xenomai official website:
.
4.3.1 Xenomai running mode
The dual kernel core is codenamed Cobalt, whereas the native Linux implementation is called Mercury. Both Mercury and Cobalt
are supported.
4.3.1.1 Running Xenomai Mercury
Xenomai Mercury provides the following API references:
1. Test programs:
• latency: The user manual for Xenomai timer latency benchmark can be found at:
http://www.xenomai.org/documentation/xenomai-3/html/man1/latency/index.html
.
• cyclictest: The user manual for Xenomai high resolution timer test can be found at:
http://www.xenomai.org/documentation/xenomai-2.6/html/cyclictest/index.html
2. Utilities:
• xeno: The user manual for Wrapper for Xenomai executables can be found at:
http://www.xenomai.org/documentation/xenomai-2.6/html/xeno/index.html
.
• xeno-config: The user manual for displaying Xenomai libraries configuration can be found at:
http://www.xenomai.org/documentation/xenomai-2.6/html/xeno-config/index.html
4.3.1.2 Running Cobalt mode
Xenomai Cobalt provides many APIs to perform testing.
1. Clocktest : The test program
clocktest
provided by Xenomai can be used to test timer APIs. There are three kinds of
timer sources: CLOCK_REALTIME, CLOCK_MONOTONIC, and CLOCK_HOST_REALTIME.
• Use the below command to check a timer with clock name CLOCK_REALTIME:
$ clocktest –C 0
• Use the below command to check a timer with clock name CLOCK_MONOTONIC:
$ clocktest –C 1
NXP Semiconductors
Industrial features
Open Industrial User Guide, Rev. 1.8, 05/2020
User's Guide
41 / 199