EtherCAT Master

Jump to: navigation, search


In the context of the I-MECH project, funded by the European Commission under the ECSEL programme, we have ported the SOEM EtherCAT library on ERIKA.
Such experimental support will be soon released in the next stable version of the RTOS. This page explains how to setup and run the provided demo.


For running the demo, an x86-64 platform with the following characteristics is needed:

  • Supporting hardware-assisted virtualization (i.e. VT-x, VT-D, EPT) and capable of running the Xen hypervisor in HVM mode.
  • With an Intel i210 network interface.


The provided demo assumes the Intel i210 network interface to be connected to a Beckhoff EL2004 EtherCAT slave. The demo has been tested on Advantech ARK-3520P-U7A1E.

To run the provided EtherCAT master demo, follow the next steps:

  1. Download the EtherCAT SOEM library for ERIKA3 from the page
  2. Download the bare-metal x86 toolchain available at this link and extract the downloaded archive on a local directory
  3. (optional) Put the directory containing the toolchain binaries in the PATH environment variable before running RT-Druid.
  4. Run the RT-Druid tool
  5. Create a new project by clicking on NewRT-Druid v3 Oil and C/C++ Project as shown in the next Figure:
    Figure 1: Create a new RT-Druid project.
  6. Name the new project (e.g., mytest) and select the Cross-GCC as shown in the next Figure:
    Figure 2: Naming the new RT-Druid project.
  7. Check the box for using an existing template and select x86-64XenEtherCAT SOEM demoas shown in the next Figure:
    Figure 3: Selecting the EtherCAT template.
  8. Right click the project and select Properties as shown in the following Figure:
    Figure 4: Eclipse project properties.
  9. Click OilGenerator properties, enable project specific settings and specify the directory containing the SOEM library for ERIKA3:
    Figure 5: Setting the path of the SOEM library.
  10. If you didn't put the toolchain in the PATHdirectory, also set the GNU Compiler prefix property to /full/path/x-tools/x86_64-unknown-elf/bin/x86_64-unknown-elf-.
  11. Edit the main.c file and set the SLAVE_NB variable for the Bechkhoff EL2004 slave (note that the SOEM library numbers slaves starting from 1).
  12. Follow the instructions at [ERIKA3_on_the_Xen_hypervisor|this page] for building and running the Xen iso image.