Debuggen und Testen Fehlerjagd bei High-End-SoCs

Rechtzeitig zur embedded world hat PLS die Universal Debug Engine um neue Funktionen erweitert.
Rechtzeitig zur embedded world hat PLS die Universal Debug Engine um neue Funktionen erweitert.

Eine Vielzahl komplett neuer und verbesserter Funktionen zur Auswertung großer Trace-Datenmengen und zur Beurteilung des Laufzeitverhaltens von Echtzeitbetriebssystemen zeichnet die von PLS Programmierbare Logik & Systeme präsentierte neue Version 4.8 der Universal Debug Engine (UDE) aus.

Dank leistungsstarker Zugangshardware-Tools wie dem „Universal Access Device 3+“ und besonders breitbandiger Trace-Schnittstellen wie dem Aurora-Interface können bei High-End-SoCs heutzutage ohne weiteres bis zu 4 Gigabyte Trace-Daten aufgezeichnet werden. Die weiterentwickelte Trace-Analyse der UDE 4.8 erlaubt es Entwicklern nun, diese enormen Trace-Datenmengen noch schneller zu durchsuchen. So ermöglicht die Find-All-Funktion der UDE 4.8 in einem Suchdurchlauf über alle Trace-Daten nicht nur das Auffinden von Einzelereignissen wie Einsprünge in Funktionen oder Zugriffe auf bestimmte Speicherstellen, sondern auch von ganzen Ereignissequenzen. Präsentiert werden die Suchergebnisse in Form von Bookmarks, zwischen denen sehr komfortabel navigiert werden kann.

Für die effizientere Untersuchung des Laufzeitverhaltens wurde die UDE 4.8 außerdem um eine Callgraph-Analyse erweitert. Neben der Darstellung der Aufrufhierarchie von Funktionen liefert sie dem Entwickler gleichzeitig wertvolle Profiling-Informationen für Optimierungsaufgaben. Einmal gewonnen, werden die Trace-Daten in einer Datenbank gespeichert und können von dort immer wieder neu geladen werden. Da die eigentliche Trace-Analyse auch offline erfolgen kann, entfallen die sonst üblichen langen Belegungszeiten beispielsweise eines teuren HIL-Arbeitsplatzes. Ebenfalls neu ist ein Add-In zur Beurteilung des Laufzeitverhaltens von Echtzeitbetriebssystemen nach dem OSEK-Standard. Alleine durch die Trace-basierte Beobachtung von Betriebssystemvariablen, wie sie über das OSEK RealTime Interface (ORTI) definiert werden, kann die UDE 4.8 Laufzeitinformationen ohne die sonst notwendige Instrumentierung der Betriebssysteme ermitteln. Eine Exportfunktion für das Best-Trace-Format (BTF) erleichtert dem Anwender dabei die nachfolgende Auswertung und grafische Aufbereitung der analysierten Daten durch gängige Task-Analyse-Werkzeuge. Grundlegend überarbeitet wurde bei der Version 4.8 der UDE zudem die Dokumentation der COM-basierten Automatisierungsschnittstelle. Unter anderem trägt sie nun den vielfältig einsetzbaren Skriptsprachen, die die UDE unterstützt, auch durch Beispiele Rechnung. Das COM-Interface ermöglicht nicht nur die komplette Steuerung der UDE über Skripte und die die Gestaltung automatisierter Testabläufe. Sie dient auch der engen Tool-Kopplung von Werkzeugen Dritter und damit einem effizienten, robusten und schnellen Zugang zum Target. Neben der auf das effiziente und bedienerfreundliche Multicore-Debugging zugeschnittenen Oberfläche der UDE 4.8. existiert zusätzlich eine eigene Perspektive für die Eclipse-Entwicklungsumgebung mit der vollen Cross-Debugger-Funktionalität.

Die UDE 4.8 zeichnet sich durch den uneingeschränkten Support unterschiedlichster aktueller High-End-Multicore-Mikrocontroller aus. So werden neben dem Aurix TC39 von Infineon unter anderem auch die RH850-Serie von Renesas und die neuesten Bausteine der SPC58NE-Familie von STMicroelectronics unterstützt.