4.18. Xenomai

The system must be setup first the same way as for EC-Master for Linux, especially installation of the atemsys module and Real-time Ethernet Driver usage preparation.

See also

Chapter Linux

The binaries are built using the following versions:

  • armv6-vfp-eabihf:
    • Xenomai 2.6.3, tested on Linux Kernel 3.8.13-xenomai-2.6.4

  • x64:
    • Xenomai 3.0.2, tested on Linux Kernel 3.18.20 (Cobalt)

    • EVL r0.44 (Xenomai 4), tested on Linux Kernel 5.15.106

  • x86:
    • Xenomai 2.6.2.1, tested on Linux Kernel 3.5.7

    • Xenomai 3.0.2, tested on Linux Kernel 3.18.20 (Cobalt) and 3.10.32-rt31 (Mercury)

4.18.1. Setting up and running EcMasterDemo

  1. Prepare system

    Prepare the system to run EcMasterDemo on Linux as described in chapter Linux

  2. Compile EcMasterDemo

    As a starting point there is the Eclipse project for EcMasterDemo for Xenomai located at Workspace/Xenomai/. Ensure OPERATING_SYSTEM, ARCH, CFLAGS, LDFLAGS, LD_LIBRARY_PATH are set accordingly (export ARCH=x86, …) when compiling using Eclipse! For Xenomai 4 the environment variable ELV_PATH should contain path of the libevl. Also ensure the following define is present:

    EC_VERSION_XENOMAI=4
    
  3. Run using GDB

    Provide search path for Xenomai libraries and prevent GDB to stop execution on SIGXCPU:

    $ export LD_LIBRARY_PATH=../../Bin/Xenomai/x86:/usr/xenomai/lib:.
    $ gdb --args ./EcMasterDemo -intelgbe 2 1 -f eni.xml -v 3
    $ [...]
    $ (gdb) handle SIGXCPU nostop noprint nopass
    $ (gdb) run
    

4.18.2. OS compiler settings

Besides the general settings from Compiling the EcMasterDemo the following settings are necessary to build the example application for Xenomai.

Extra include paths
<InstallPath>/SDK/INC/Xenomai
<InstallPath>/Examples/Common/Xenomai
Extra source paths
<InstallPath>/Examples/Common/Xenomai
<InstallPath>/Sources/OsLayer/Xenomai
Extra library paths to the main EtherCAT components
  • Xenomai 2 and 3:

<InstallPath>/SDK/LIB/Xenomai
  • Xenomai 4:

<InstallPath>/SDK/LIB/Xenomai4
Extra libraries (in this order)
  • Xenomai 2:

EcMasterRasServer EcMaster pthread dl rt native xenomai
  • Xenomai 3:

EcMasterRasServer EcMaster pthread dl rt
xeno-config --cflags and xeno-config --ldflags of the Xenomai installation return the needed CFLAGS and LDFLAGS. If further information is needed, please refer to http://xenomai.org/ .
  • Xenomai 4:

EcMasterRasServer EcMaster pthread evl dl