Attention

You are viewing an older version of the documentation. The latest version is v3.3.

Appendix

Note

These lists are not comprehensive. They are provided for reference only.

ECI Linux Intel LTS Kernel

ECI distributes various builds of the Linux Intel LTS kernel, which are detailed in the table below:

Distribution

Linux kernel type

Linux kernel version

Deb Packages

Source URL

Debian 11 (Bullseye)

Real-time PREEMPT_RT

5.10.115-rt67

linux-headers-intel-rt
linux-image-intel-rt
linux-intel-rt

link

Debian 11 (Bullseye)

Xenomai/Dovetail

5.10.100

linux-headers-intel-xenomai
linux-image-intel-xenomai
linux-intel-xenomai

link

Debian 11 (Bullseye)

ACRN Hypervisor compatible

5.10.115

linux-headers-intel-acrn-sos
linux-image-intel-acrn-sos
linux-intel-acrn-sos

link

Ubuntu 22.04 (Jammy Jellyfish)

Real-time PREEMPT_RT

5.15.36-rt41

linux-headers-intel-rt
linux-image-intel-rt
linux-intel-rt

link

Ubuntu 22.04 (Jammy Jellyfish)

ACRN Hypervisor compatible

5.15.36

linux-headers-intel-acrn-sos
linux-image-intel-acrn-sos
linux-intel-acrn-sos

link

ECI Components

The following components can be installed using Debian packages from ECI or open-source. Click the component hyperlink for instructions on installing and using the component.

Component

Version

Description

ACRN Hypervisor

3.0.1

Open-source ACRN Type 1 hypervisor

CANopen

4.0

Open-source CAN Bus software

CODESYS Control for Linux

4.5.0.0

Commercially available IEC 61131-3-compliant SoftPLC for PC-based industrial controllers running on Linux with soft real-time properties.

Edge Control Procotol Bridge

3.0

Intel-created software which can be used to bridge various industrial protocols together, effectively providing translation from one protocol to another.

IgH EtherCAT Master Stack

1.5.2

Open-source EtherCAT Master software

Intel® Edge Insights for Industrial

2.6.3

Open-source framework for enabling smart manufacturing with visual and point defect inspections.

Intel® Elkhart Lake Functional Safety (FuSa) Software Package

1.0

Intel-created software which takes advantage of hardware FuSa capabilities.

Intel® In-band Manageability

3.0.13

Intel-created software which enables an administrator to perform critical Device Management operations over-the-air remotely from the cloud.

Intel® Time Coordinated Computing Tools

2022.1.0

Intel-created software which augments the compute performance of Intel processors with the ability to address the stringent temporal requirements of real-time applications.

Intel® Ethernet TSN IoTG Reference Sample Applications

0.8.27

Intel-created performance synthetic testing to compare Linux Intel® Industrial Ethernet driver hw-offload capabilities.

PLCopen Motion Control

3.0

The PLCopen motion standard provides a way to have standard application libraries that are reusable for multiple hardware platforms.

Real Time Data Agent

3.0

The Real Time Data Agent provides an unified and real-time way to write/read data to/from shared memory, and also a demo program to parse/pack/send data to container stack for storage and visualization.

Real-Time Performance Measurement (RTPM)

1.9

RTPM is designed to check the key settings of the system and help you to identify the hotspot of the system for real-time performance and provide a recommendation based on the Best-known Configuration (BKC). In addition, RTPM provides a way to measure the system scheduling latency with some open source tools.

Real-Time Systems Hypervisor

5.5.00.28607

Commercially available Type 1 hypervisor designed to provide real-time performance and workload consolidation.

Robot Operating System Software

Foxy

Open-source software intended for writing robot software. ROS is comprised of a collection of tools, libraries, and conventions that aim to simplify the task of creating complex and robust robot behavior across a wide variety of robotic platforms.

Time-series processing

3.0

Template files for launching a time-series data processing stack consisting of the MQTT broker mosquitto, telegraf as data colletion service, InfluxDB as time-series database and grafana for visualization.

Trusted VM for IoT Platforms

3.0

Trusted VM is designed to isolate a virtual machine at HW level using Intel silicon technologies and hypervisor protections to create a higher privileged VM.

ECI Benchmarks

The following benchmarks can be installed using Debian packages from ECI or open-source. Click the benchmark hyperlink for instructions on installing and using the benchmark.

Benchmark

Location after installation

Cyclictest Workload

/opt/benchmarking/rt-tests/cyclictest

Caterpillar

/opt/benchmarking/caterpillar

RT-app

/opt/benchmarking/rt-app

Jitter

/opt/benchmarking/jitter

CODESYS Benchmarking Applications

/opt/benchmarking/codesys

Rhealstone

/opt/benchmarking/rhealstone

MMIO Latency

/opt/benchmarking/mmio-latency

MSI Jitter

/opt/benchmarking/msi-jitter

MSI Latency

/opt/benchmarking/msi-latency

LMbench

/opt/bin/lmbench

Ethernet TSN Intel® Reference Benchmark

/opt/intel/iotg_tsn_ref_sw

ECI Examples

The following examples can be installed using Debian packages from ECI or open-source. Click the reference documentation hyperlink for instructions on running the example.

Example

Reference Documentation

Location after installation

CODESYS Application

Application #2: CODESYS OPC UA Publish/Subscribe

/opt/ec-protocol-bridge/plg-opcua-rt/examples/codesys

CODESYS Benchmark Application

CODESYS Benchmarking Applications

/opt/benchmarking/codesys

EC Protocol Bridge

Application #1: Single-Host Roundtrip TSN Transport

opt/ec-protocol-bridge/plg-opcua-rt/examples/singlehost

EC Protocol Bridge

Application #2: CODESYS OPC UA Publish/Subscribe

/opt/ec-protocol-bridge/plg-opcua-rt/examples/codesys

EtherCAT Enablekit

EtherCAT Enablekit Sanity Checks

/opt/ecat-enablekit/ecatmotor

Edge Control Protocol Bridge Example Applications

EC Protocol Bridge Example Applications

/opt/ec-protocol-bridge/plg-opcua-rt/singlehost-examples

Edge Control Protocol Bridge Example Configurations

EC Protocol Bridge Example Configurations

/opt/ec-protocol-bridge/config

IgH EtherCAT Master Stack

EtherCAT Sanity Checks

/opt/ighethercat/examples/

PLCopen Motion Control Examples

PLCopen Motion Recurring Testing

/opt/plcopen

ECI Kernel Configuration Optimizations

This list provides the additional kernel configurations used during compilation to optimize the system for real-time performance.

When Configuring x86_64 PPREEMPT_RT kernels, there is no default configuration file for each of the IPC models available, and the only kernel configuration file you may want to start from is shipped with ECI distributions. Below non exhaustive list of the most critical for a control Linux-rt OS runtime:

kernel config fragment overrides (.cfg)

Comments

CONFIG_HZ_100=y
CONFIG_NO_HZ=n
CONFIG_NO_HZ_FULL=y
CONFIG_NO_HZ_IDLE=n
CONFIG_ACPI_PROCESSOR=n
CONFIG_CPU_FREQ_GOV_ONDEMAND=n
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=n
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ=n
CONFIG_CPU_IDLE=n

Reduce task scheduling-clock overhead and disable CPU governor Linux features

ARCH_SUSPEND_POSSIBLE=n
CONFIG_SUSPEND=n
CONFIG_PM=n

Disable Linux pm runtime features

CONFIG_VIRT_CPU_ACCOUNTING=y
CONFIG_VIRT_CPU_ACCOUNTING_GEN=y

Enable more accurate task and CPU time accounting

CONFIG_CPU_ISOLATION=y
CONFIG_RCU_NOCB_CPU=y
CONFIG_PREEMPT_RCU=y
CONFIG_HAVE_PREEMPT_LAZY=y
CONFIG_PREEMPT_LAZY=y
CONFIG_PREEMPT_RT=y

Enable more preemptive task scheduling policies and CPU temporal-isolation

ECI Kernel Boot Optimizations

This list provides the additional boot parameters used to optimize the system for real-time performance.

When Configuring x86_64 PPREEMPT_RT kernels, there is no default configuration file for each of the IPC models available, and the only kernel configuration file you may want to start from is shipped with ECI distributions. Below non exhaustive list of the most critical for a control Linux-RT OS runtime:

kernel command-line append

Comments

hpet=disable \
clocksource=tsc \
tsc=reliable \
intel_pstate=disable \
intel_idle.max_cstate=0 \
intel.max_cstate=0 \
processor.max_cstate=0 \
processor_idle.max_cstate=0 \

Use intel_pstate driver but disable HWP (Hardware P-States)

rcupdate.rcu_cpu_stall_suppress=1 \
mce=off \
nmi_watchdog=0 \
nosoftlockup \

Suppress RCU CPU stall warning messages, disable machine check exceptions, disable NMI lockup detector, and disable logging of back-traces when a process executes on a CPU for longer than the softlockup threshold (default 120 seconds).

noht \

Disable Hyper-Threading

numa_balancing=disable \

Prevent cache from being moved based on task processor affinity.

hugepages=1024 \

Allocate RAM chunks 1GB at a time to reduce frequency of memory allocation.

rcu_nocb_poll=1024 \

Relieve each CPU from the responsibility of awakening their RCU offload threads.

audit=0 \
irqaffinity=0 \
isolcpus=1,3 \
rcu_nocbs=1,3 \
nohz_full=1,3 \

Assign task CPU affinity to CPU 0 and prevent tasks from being assigned to CPUs 1 & 3 by default. This effectively makes CPUs 1 & 3 favorable for real-time tasks, since they should experience minimal contention.

i915.enable_rc6=0 \
i915.enable_dc=0 \
i915.disable_power_well=0 \

Prevent integrated graphics from changing power states.

Additional Boot Parameters for Intel® TCC Tools

The following list of boot parameters are used to enable TCC capability.

Kernel Command line append

Comments

rdt=!l2cat,l3cat \
art=virtallow \

Disable cat, required for TCC

Additional Boot Parameters for ACRN Real-Time VM

The following list of boot parameters are used for ACRN Real-Time VM. These parameters are mostly applicable to the Linux-based RTOS, such as PREEMPT_RT Linux and Xenomai.

Kernel Command line append

Comments

nohpet \
no_timer_check \
ignore_loglevel \
log_buf_len=16M \
consoleblank=0 \
console=hvc0 \
i915.nuclear_pageflip=1 \
i915.avail_planes_per_pipe=0x070F00 \
x2apic_phys \
mce=ignore_ce \
idle=poll \
isolcpus=nohz,domain,<list> \
rcu_nocbs=<list> \
nohz_full=<list> \

Modify parameters. List RT VM cores allocated to real-time applications

Required BIOS configuration for Intel® TCC Tools

The following list provides additional BIOS settings for Intel® Time Coordinated Computing Tools (Intel® TCC Tools).

Note

Use an approved Intel BIOS checker tool before configuring for production use cases.

Intel Advanced Menu

Intel(R) Time Coordinated Computing

Intel(R) TCC Mode

Enabled

Intel(R) TCC Authentication

Disabled