Entwicklungstools Neue Software für Hardware-Debugging

Der Universal Debug vereinfacht
Der Universal Debug vereinfacht

Die neue Version der Universal Debug Engine vereinfacht die Systemanalyse in Echtzeit- und sicherheitskritischen Systemen sowie das Auffinden von Software-Fehlern in Multicore-Umgebungen.

PLS stellte auf der Embedded World 2018 eine neue Version der Universal Debug Engine (UDE) vor, die zahlreiche neue und erweiterte Funktionen für das Debugging, den Test und die Systemanalyse von komplexen Multicore-Anwendungen in Echtzeit- und sicherheitskritischen Embedded-Systemen enthält. So wurde für die umfassende Unterstützung neuester Multicore-Systeme wie der Aurix-2G-Familie von Infineon mit bis zu acht programmierbaren Ausführungseinheiten oder dem S32V von NXP mit seinen leistungsfähigen Cortex-A53-Kernen unter anderem das Multicore-Management, das beispielsweise das synchrone Anhalten und Starten von mehreren, heterogenen Kernen ermöglicht, weiter optimiert. Insbesondere für Anwender von ARM Cortex-SoCs hat PLS seine Befehlssatzunterstützung erweitert. Die neueste Version der UDE erlaubt Anwendern nun, Code in den Ausführungsmodi AArch32 und AArch64 gleichzeitig der Fehleranalyse zu unterziehen.

Laufzeitverhalten visualisieren

Mit der UDE 4.10 stehen Entwicklern darüber hinaus auch noch effizientere grafische Visualisierungsmöglichkeiten für die Analyse des Laufzeitverhaltens von Applikationen zur Verfügung. Basierend auf den aufgezeichneten Trace-Daten lässt sich selbst bei sehr großen auszuwertenden Datenmengen schnell der Programmablauf oder auch die Call-Tiefe über die Zeit darstellen. Durch die grafische Aufbereitung der Abläufe können einfach Rückschlüsse beispielsweise zur Lastverteilung oder Synchronisation von auf mehreren Kernen verteilter Software gezogen werden.

Ein weiteres neues Leistungsmerkmal der UDE 4.10 ist die Unterstützung von ASAP2-Beschreibungen für Steuergeräte-Software. ASAP2- bzw. A2L-Dateien beschreiben, wie physikalische Größen, Kennlinien und andere Parameter von Steuergeräten auf Programmvariablen, interne Speicherstrukturen und Datentypen abgebildet und umgerechnet werden. Der Anwender kann nun direkt mit den Steuergeräteparametern arbeiten und diese auch ändern, ohne sich um deren tatsächliche Repräsentation im Speicher des Mikrocontrollers kümmern zu müssen. Dabei findet auch eine Überprüfung auf erlaubte Werte und Wertebereiche statt.

Eine deutliche Arbeitserleichterung bietet die UDE 4.10 auch Entwicklern komplexer Timer-Algorithmen für das Bosch Generic Timer Modul (GTM). Wo bisher ausschließlich Assemblercode zum Einsatz kam,
können Entwicklung und Debugging in Verbindung mit den entsprechenden Compilern von Tasking oder HighTec ab sofort auch auf Basis von C-Quellcode erfolgen.

Sichere Updates auch später

Für die Aurix-2G-Familie wurden das integrierte Flash-Programmiermodul der UDE 4.10 und das separat verfügbare Flash-/OTP-Programmierwerkzeug UDE/Memtool um zusätzliche Funktionen für Software-over-the-Air erweitert. Damit besteht jetzt die Möglichkeit, auf dem Baustein die Voraussetzungen für spätere sichere Software-Updates über eine bestehende Internetverbindung zu schaffen.

Ergänzend zur UDE 4.10 stellt PLS für ihr UAD2next, das Allround-Zugangsgerät für State-of-the-Art Debugging und Target-Kommunikation über CAN, außerdem zwei neue Trace-Module vor. Mit dem Modul für parallelen Trace können bei 12 bit und 125 MHz DDR-Trace-Daten mit bis zu 250 Mbit/s übertragen werden. Das zweite Modul unterstützt serielle auf dem AURORA-Protokoll basierende Trace-Interfaces und überträgt die vom Target erzeugten Trace-Daten über zwei Lanes mit einer Transfergeschwindigkeit von bis zu 1,25 Gbit/s. Beide Mo¬dule können einfach in den robusten Erweiterungs-Slot an der Frontseite des UAD2next eingesteckt werden.