Mit neuen und optimierten Funktionen unterstützt UDE 4.10 die Softwareentwicklung für komplexe High-End-SOCs.

Mit neuen und optimierten Funktionen unterstützt UDE 4.10 die Softwareentwicklung für komplexe High-End-SOCs. PLS Programmierbare Logik

Laufzeitanalyse von Multicore-Applikationen mittels Auswertung des Call-Graphen und Visualisierung des Programmablaufs.

Laufzeitanalyse von Multicore-Applikationen mittels Auswertung des Call-Graphen und Visualisierung des Programmablaufs. PLS Programmierbare Logik

So wurde die Version 4.10 der Universal Debug Engine (UDE) von PLS Programmierbare Logik & Systeme für die umfassende Unterstützung neuester Multicore-Systeme unter anderem das Multicore-Management, welches beispielsweise das synchrone Anhalten und Starten von mehreren, heterogenen Kernen ermöglicht, weiter optimiert. Zu den Multicore-Systemen gehören beispielsweise die Aurix-2G-Familie von Infineon mit bis zu acht programmierbaren Ausführungseinheiten oder S32V von NXP mit seinen leistungsfähigen Cortex-A53-Kernen. Speziell für Anwender ARM-Cortex-basierter SoCs hat PLS zudem seine Befehlssatzunterstützung erweitert. Die neueste Version der UDE erlaubt Anwendern nun, Code in den Ausführungsmodi AArch32 und AArch64 gleichzeitig zu debuggen.

Darüber hinaus stehen Entwicklern künftig 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 ohne großen zusätzlichen Aufwand sehr einfach Rückschlüsse beispielsweise zur Lastverteilung oder Synchronisation von auf mehreren Kernen verteilter Software gezogen werden.

Überprüfung auf erlaubte Werte

Weiterhin unterstützt UDE 4.10 ASAP2-Beschreibungen für Steuergerätesoftware. ASAP2- beziehungsweise 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. Damit gestalten sich das Debuggen und die Laufzeitanalyse von Steuergerätesoftware sehr viel komfortabler und effizienter als in der Vergangenheit.

Eine 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.

Speziell 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 den reibungslosen Support von Software-over-the-Air erweitert. Damit besteht die Möglichkeit, auf dem Baustein die Voraussetzungen für spätere sichere Software-Updates über eine bestehende Internetverbindung zu schaffen.

Für UAD2next stellt PLS das Allround-Zugangsgerät für State-of-the-Art- Debugging und Target-Kommunikation über CAN vor, sowie zwei neue Trace-Module. 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 Module können einfach in den robusten Erweiterungs-Slot an der Frontseite des UAD2next eingesteckt werden.

(Embedded World 2018, Halle 4/4-310)