Implementierung von asymmetrischem Multiprocessing anhand eines Praxisbeispiels auf dem i.MX8X mit OpenAMP
Heterogene Multiprozessorsysteme auf einem Chip (MPSoC) erfreuen sich aufgrund ihrer hohen Leistung, niedrigeren Kosten und Energieeffizienz in den letzten Jahren zunehmender Beliebtheit für industrielle Anwendungen. Insbesondere bei der Nutzung vieler verschiedener integrierter Prozessoren, auf denen unterschiedliche Betriebssysteme laufen, stellen sich zahlreiche Herausforderungen. Diese Architektur wird auch als Asymmetrisches Multiprocessing (AMP) bezeichnet. Die beiden größten Herausforderungen sind das Lebenszyklusmanagement (LCM) und die Kommunikation zwischen den Prozessoren (IPC).
Dieser Artikel stellt das Design von heterogenen MPSoCs und die Nutzung verschiedener Betriebssysteme vor. Als Lösungsvorschlag für diese beiden Herausforderungen wird ein Framework ausgewählt. Es folgt eine detaillierte Präsentation der Implementierung des entwickelten AMP-Systems mit dem ausgewählten OpenAMP-Framework auf dem NXP i.MX8X MPSoC mit eingebettetem Linux auf dem ARM Cortex-A35 und FreeRTOS auf dem ARM Cortex-M4 unter Verwendung des VAR-SOM-MX8X SoM von Variscite. Zur Evaluierung des implementierten Systems werden die Latenzzeiten auf dem iMX 8X gemessen. Die Ergebnisse zeigen unter anderem, dass die maximale Latenzzeit vom Linux-Benutzerraum zu FreeRTOS bei Nutzung des RT-Patches 628 µs beträgt. Aus den Ergebnissen lässt sich schließen, dass die Kommunikation zwischen den Prozessoren (IPC) für weiche Echtzeit geeignet ist.