Debugger für LynxSecure-Hypervisor-Anwendungen

PRODUKT NEWS EMBEDDED SYSTEMS

PLS Programmierbare Logik & Systeme bringt die Version 5.0 ihrer Universal Debug Engine. Sie unterstützt mit ihrer Hypervisor-Awareness nun unter anderem auch die Entwicklung virtualisierter Anwendungen unter dem LynxSecure Hypervisor von Lynx Software Technologies für die ARM Cortex-A53 Plattform.



Spezifische Eigenschaften des ARM Cortex-A53 wie zweistufige Adressumrechnung oder die Unterstützung von Interrupt-Virtualisierung werden durch die UDE 5.0 für den Anwender transparent behandelt. Wesentlich dabei ist, dass der Anwender wie gewohnt eine einzelne Bare-Metal-Applikation (Nutzung ohne Betriebssystem) so debuggen kann, als ob diese statt innerhalb einer virtuellen Maschine (VM) auf echter Hardware ausgeführt wird. Unterstützung erhalten Entwickler auch beim Debugging und der Systemanalyse des Hypervisors an sich. Für jede einzelne VM können sowohl deren Zustand als auch die jeweiligen Kontexte angezeigt werden. Darüber hinaus stehen neben Informationen zum Speicherlayout der einzelnen VMs auch die Zuordnungen der virtuellen zu den physikalischen Speicheradressen zur Verfügung.

 

Vereinfacht und verbessert wurde laut Anbieter in der UDE 5.0 der Umgang mit großen Mengen an aufgezeichneten Trace-Daten. Dabei wurde speziell auf die Visualisierung besonderes Augenmerk gelegt. So ist die zeitgenaue Darstellung der ausgeführten Funktionen und Betriebssystem-Tasks im UDE Excecution Sequence Chart nach verschiedenen Gesichtspunkten sortierbar und filterbar. Verlinkungen erlauben die Navigation von den aufgezeichneten Funktionen hin zu deren Quellcode. In Kombination mit dem Add-In für den Support von Echtzeitbetriebssystemen nach dem OSEK-Standard können die Betriebssystem-Tasks zusammen mit den zugehörigen Runnables dargestellt und vermessen werden. Eine Exportfunktion für das Best-Trace-Format (BTF) erlaubt zudem die Weiterverarbeitung auch durch gängige Task-Analyse-Werkzeuge von Drittanbietern.

 

Als Multicore-Debugger unterstützt die UDE 5.0 auch die Visualisierung der Zustände und Kontrolle aller Kerne eines Multicore-Systems innerhalb einer einheitlichen Benutzeroberfläche. Noch effizienter als bisher soll sich beispielsweise der Umgang mit Variablen, die durch den Compiler nur für einen bestimmten Core sichtbar gemacht werden gestalten. Solche Core-lokalen Variablen werden in den Watch-Fenstern der UDE entsprechend des jeweiligen Cores verschiedenfarbig hervorgehoben.

 

Weiter wurden die Debug-Funktionen für 64-Bit-Architekturen, beispielsweise für den ARM Cortex-A53, weiter ausgebaut. Als neue Bausteine aus der ARM-Welt sind unter anderem der 32-Bit ARM-Controller Cortex-R52 und der Cortex-M-Mikrocontroller NETX 90 hinzugekommen. Dedizierten Debug-Support bietet die UDE 5.0 darüber hinaus auch für die neuen PowerArchitecture-basierten Bausteine Chorus SPC58NH92x von STMicroelectronics sowie die Dual-Cores MPC5775B und MPC5775E von NXP. Letztere sind speziell die für rechenintensive Anwendungen aus dem Batteriemanagement und Inverter-Steuerungen ausgelegt und zielen sowohl auf den Industrial- als auch auf den Automotive-Sektor. Über den Nexus-Trace-Support der UDE sind für diese Bausteine die Funktionen zur Laufzeitanalyse wie Profiling, Code Coverage und die Visualisierung von Call-Graphen nutzbar.

 

Von den Debug- und Trace-Funktionen der UDE 5.0 profitieren auch die Mikrocontroller der TC3xxx-Palette von Infineon. Neben den Multicore-Debug-Funktionen stehen Anwendern je nach Controller auch Trace für nicht-invasives Debugging sowie für die Systemanalyse zur Verfügung. Für den TC35x kann das neue MCDSlight, für den TC38x die grundlegende Trace-Funktionalität des miniMCDS genutzt werden. Letzteres steht den Entwicklern auch in der Basislizenz der UDE zur Verfügung.

 

Um den speziellen Anforderungen von Fail-Safe- bzw. Fail-Operational-Systemen gerecht zu werden, die mit zwei Controllern der AURIX-Familie eine Redundanz der Steuer-Controller sicherstellen, steht für die Target-Kommunikation mit dem Universal Access Device 3+ (UAD3+) ein Multi-AURIX-Adapter zu Verfügung. Zusammen mit der UDE 5.0 ermöglicht er sowohl ein synchrones Stop-Mode-Debugging – Break, Single-Step-Betrieb und Wiederloslaufen – als auch ein synchrones Anhalten der Peripherieeinheiten beider Controller, die über zwei separate Debug-Interfaces angesprochen werden.

Fachartikel