Software-Unterstützung Asymmetrisches Multiprocessing auf i.MX6

Single-Board-Computer armStone A9 von F & S Elektronik.
Single-Board-Computer armStone A9 von F & S Elektronik.

Für die Entwicklung von Echtzeitsystemen mit Embedded Linux hat emlix eine Lösung mit asymmetrischem Multiprocessing (AMP) entwickelt, die auf die Boards von F&S Elektronik abgestimmt ist.

Bei dieser Nutzung moderner MultiCore-CPUs mit zwei oder mehr Prozessor-Kernen wird ein Kern aus dem Software-Verbund gelöst und mit spezieller Echtzeit-Software exklusiv (asymmetrisch) genutzt. Der Vorteil dieser Architektur besteht in der strikten Trennung der echtzeitrelevanten Aufgaben – beispielsweise eines Regelungsalgorithmus – vom übrigen System.

Auf dem F&S Single Board Computer armStone A9 und dem Computermodul efus A9 wurden von emlix Echtzeitapplikationen entwickelt, die einen der vier Kerne exklusiv nutzen, um eine Regelung im 10-µs-Takt zu betreiben. Bei durchschnittlicher Systemlast liegt der Jitter unter 1 µs und bleibt bei Benchmark-Volllast aller Kerne und der Speicherbusse unter 5 µs.

Der Code der Echtzeit-Software ist in C und wenigen Zeilen Assembler programmiert worden. Die Regelung erfolgt über GPIOs. Alle Interfaces und Prozesse, die nicht für die unmittelbare Echtzeit-Abarbeitung von Relevanz sind, werden auf den unter Linux betriebenen Kernen ausgeführt. So ist der Betrieb beispielsweise von USB, Ethernet, PCI Express und Grafik für Bedien-, Steuerungs- und Visualisierungsaufgaben parallel und ohne Einschränkungen möglich.

Das Software-Add-On bietet neben Preempt-RT und Xenomai/Adeos eine weitere Alternative für die Entwicklung und langfristige Wartung von Echtzeitlösungen auf Basis von Embedded Linux. Diese Lösung ist auf Boards mit i.MX-6-Prozessoren von F&S Elektronik Systeme verfügbar.