High-End-SoCs debuggen und optimieren Laufzeitbeobachtung für Echtzeitanwendungen

PLS hat die Laufzeitbeobachtung der UDE 5.2 für High-End-SoCs weiter verbessert.

Mit einigen gänzlich neuen Funktionen und einer ganzen Reihe von Optimierungen für noch komfortableres und effizienteres Debugging wartet die Universal Debug Engine (UDE) 5.2 auf, die PLS Programmierbare Logik & Systeme erstmals auf der embedded präsentiert.

So werden beispielsweise für die Automotive-Multicore-Mikrocontroller der Stellar-Familie von STMicroelectronics nun auch Trace-Funktionen für Datentransfers zwischen den sechs ARM Cortex-R52 Cores, Spezial-CPUs und Peripherals unterstützt, die deutlich über das bisher verfügbare ARM-CoreSight-Debug- und Trace-System hinausgehen.

Außerdem lassen sich mit den erweiterten Trace-Funktionen der UDE 5.2 erstmals auch Datentransfers über Networks-on-Chip (NoC) beobachten. Diese Netzwerke kommen zunehmend zum Einsatz, wenn es darum geht, in hochkomplexen High-End-Mikrocontrollersystemen eine effiziente und flexible Datenübertragung auf dem Chip sicherzustellen. Parallel dazu kann selbstverständlich auch ein herkömmlicher Code Trace eines oder mehrerer Cores durchgeführt werden. Damit erlaubt die UDE erstmalig die Bewertung des Gesamtsystemverhaltens dieser neuartigen Mikrocontroller. Für den Core-Trace kommt zudem eine speziell für die ARM CoreSight ETM v4 optimierte Trace-Analyse zum Einsatz, die eine intelligente Korrelation von zusammengehörendem Daten- und Instruktions-Trace bietet. Damit wird die anschließende Auswertung der aufgezeichneten Trace-Informationen durch den Anwender stark vereinfacht. Darüber hinaus stehen speziell für die Stellar-Familie nun auch die Trace-Funktionen für das Bosch Generic Timer Module (GTM) zur Verfügung.

Die umfangreichen Debug-Funktionen der UDE stehen nicht nur für die MCUs der Stellar-Familie von STMicroelectronics zur Verfügung. Unterstützt werden auch weitere aktuelle Mikrocontroller wie die neuen Aurix-Bausteine TC33 und TC36 von Infineon, die Hochleistungs-MCU STM32H7 und die neuesten Bausteine der SPC58-E-Linie an Automotive-Multicore-Mikrocontrollern von STMicroelectronics sowie neue Controller der RH850-Familie und der R-Car-H3-SoCs von Renesas.

Für die Entwicklung von echtzeitkritischen Applikationen unter der Kontrolle von Echtzeitbetriebssystemen können in die UDE darüber hinaus Add-ins für die RTOS-Awareness der aktuellsten FreeRTOS- und SafeRTOS-Betriebssystemversionen eingebunden werden. Damit stehen Entwicklern alle notwendigen Informationen der Betriebssysteme wie Tasks, Queues, Semaphores/Mutexes oder Timer in übersichtlicher Form zur Verfügung. Ein weiteres Add-on erlaubt einen Überblick über die Objekte und den Status des Betriebssystems PXROS-HR von HighTec.

Bezüglich Funktionalität und Bedienkomfort erfüllt die neueste Version der UDE zudem eine ganze Reihe Kundenwünsche. So wurde beispielsweise die Verwaltung von Softwareprojekten mit vielen Quellcodepfaden überarbeitet: Sie erlaubt nun nicht nur eine unbegrenzte Anzahl von Pfadersetzungsregeln für Quelldateien, auch der Ausschluss von kompletten Quellpfaden ist jetzt möglich. Dies ist dann sinnvoll, wenn Software-Bibliotheken genutzt werden, ohne dass dafür Quellcode verfügbar ist.

In komplett neuem Outfit präsentiert sich zudem die Breakpoint-Verwaltung in der Oberfläche der UDE. Alle Breakpoints im Code sowie auch Daten-Breakpoints sind nun an zentraler Stelle in der UDE für den Entwickler erreichbar und können so noch schneller und komfortabler geändert werden. Eine wichtige Rolle nimmt diese zentrale Stelle auch im Umgang mit Multicore-Breakpoints ein, die in von mehreren Cores gemeinsam verwendetem Code benutzt werden können. Hier lassen sich nämlich auch diejenigen Cores festlegen, die auf den gesetzten Multicore-Breakpoint reagieren, also synchron anhalten sollen.

Außerdem wird von der UDE 5.2 das Software-Debugging über das „Universal Measurement and Calibration Protocol“ (XCP Version 1.5) unterstützt, das durch die „Association for Standardization of Automation and Measuring Systems“ (ASAM) als Associated Standard zum eigentlichen XCP definiert wurde. Gerade für die Entwicklung von Automotive-Anwendungen im Antriebsstrang bietet dieser Debug-Kanal den großen Vorteil, dass sowohl die UDE als auch Mess- und Kalibrierwerkzeuge ohne zusätzlichen Hardware-Aufwand gleichzeitig mit dem Steuergerät konfliktfrei kommunizieren können. Ein zeitraubendes Wechseln der Tools, die sonst auf dieselbe Debug-Schnittstelle am Steuergerät angewiesen waren, ist somit nicht mehr erforderlich.

Für das Zugangsgerät UAD2next aus der Familie der Universal Access Devices (UAD) bietet PLS jetzt zudem einen Range Extender an. Mit diesem Range Extender kann das UAD2next künftig auch an Testplätzen zum Einsatz kommen, bei denen zwischen dem Debugger-Zugangsgerät und dem zu testenden System Entfernungen von bis zu zwei Metern überbrückt werden müssen. Die differenzielle Signalübertragung zwischen Range Extender und UAD2next macht diese Lösung zudem auch robust gegenüber elektromagnetischen Störungen.

Für die eigentliche Verbindung zur Debug-Schnittstelle des Mikrocontrollers finden Standard-Target-Adapter Verwendung, die direkt an den Range Extender angesteckt werden. Damit ist der Extender selbst nicht Target-spezifisch und folglich universell für verschiedene Debug-Interfaces wie DAP, SWD, JTAG, cJTAG und LPD einsetzbar. Der Range Extender selber weist lediglich die Größe eines Standard-Target-Adapters auf, die Signalübertragung zum UAD2next erfolgt über ein 40-poliges Flachbandkabel. 

PLS, Halle 4, Stand 310