embedded world Conference[nbsp] 2020
Vortrag von Frank Erdrich, Leitung Software emtrion GmbH
SESSION 3.3 II Embedded OS VI Virtualization and Partitioning II
27.02.2020, 14:00 – 14:30 Uhr
Conference Counter NCC Ost
Embedded-Systeme sind in einer Vielzahl von Ausführungen mit unterschiedlichen Peripheriegeräten und Leistungsstufen erhältlich. Das Debuggen von Single-Core Systemen ist meist mit den verfügbaren Tools einfach zu bewerkstelligen. Besteht jedoch ein Multicore-System, das eventuell zusätzlich virtualisiert wurde, kann das Debuggen zu einer Herausforderung werden.
Viele der bekannten Hypervisoren für Virtualisierung sind aufgrund von Einschränkungen wie Echtzeit und Sicherheit nicht für eingebettete Systeme konzipiert. Es werden oft mehr CPUs virtualisiert, als reale Kerne im SoC verfügbar sind.
Eine andere Art von Hypervisor jedoch, der partitionierende Hypervisor, wie bspw. Jailouse, virtualisiert die Hardware nicht, sondern partitioniert diese. So verfügt jedes Gastsystem über eigene Hardwareressourcen, wie CPU-Kerne, Speicher und Peripheriegeräte. Außerdem kann die zugewiesene Hardware bei einem partitionierten System ausschließlich von einem Gastsystem verwendet werden. Dies bedeutet beispielsweise, dass auf eine bestimmte serielle Schnittstelle nur ein bestimmter Gast Zugriff hat.
Die Herausforderung beim Debuggen eines partitionierten Systems liegt nun darin, dass der Debugger Informationen über die Zuordnung von Peripheriegeräten, CPU-Kernen und Speicher für jeden Gast benötigt.
Der Vortrag erläutert, wie die Unterstützung für Jailhouse mit einer Awareness für den Hypervisor in eine Debugging-Lösung von Lauterbach implementiert wurde, um das Debuggen mehrerer Kerne / Gäste gleichzeitig zu ermöglichen.