Version UDE 2024 der Universal Debug Engine von PLS Programmierbare Logik & Systeme bietet etliche neue Funktionen und Erweiterungen, die das Debuggen und die Laufzeitanalyse eingebetteter Software erleichtern. Ein Hauptaugenmerk bei der Entwicklung galt der möglichst einfachen Bedienbarkeit des Tools. So können sich Nutzer dank der intuitiven Bedienoberfläche des modular aufgebauten Test-, Analyse- und Debug-Werkzeugs ohne große Einarbeitung der eigentlichen Aufgabenstellung widmen. Die Funktion SimplyTrace etwa ermöglicht einfachen Zugang zur Trace-Funktion des verwendeten Microcontrollers. Da SimplyTrace auch in der RTOS Awareness integriert ist, lässt sich ein Task-Trace zur Untersuchung des Zeitverhaltens von Applikationen unter Betriebssystemkontroller schnell erzeugen. Neben Echtzeitbetriebssystemen wie Safertos, FreeRTOS, PXROS-HR oder MicroC/OS-II wird auch Autosar unterstützt. Darüber hinaus ist UDE SimplyTrace nun auch für Controller der Aurix-Familie von Infineon nutzbar, die lediglich miniMCDS Trace zur Verfügung stellen, eine günstigere Trace-Implementierung mit eingeschränktem Funktionsumfang und deutlich limitiertem Trace-Speicher onchip .
Alle Trace-Daten gleichzeitig aufzeichnen
Weitere Neuerungen und Erweiterungen der UDE 2024 zielen auf eine effizientere Nutzbarkeit spezifischer Architektur- und Bausteineigenschaften ab. So unterstützt das integrierte MemTool nun auch die SOTA-Funktionen (Software over the Air) der Aurix-TC4x-Familie von Infineon. Darüber hinaus stehen Trace-Funktionen auch für das Dual-MCDS der TC4x-MCUs zur Verfügung und erlauben die gleichzeitige Aufzeichnung von Traces aller Cores. Die Trace-Daten lassen sich entweder im internen SRAM des Chips oder in den Geräten UAD2next und UAD3+ der Universal Access Device Familie von PLS speichern. Bei letzterem erfolgt die Übertragung der Trace-Informationen über das SGBT-Interface, eine serielle Hochgeschwindigkeitsschnittstelle.
In die Trace-Unterstützung integriert ist auch die Parallel Processing Unit (PPU) des TC4x. Die PPU als Beschleunigerkern für KI-Algorithmen etc. liefert sowohl Befehls- als auch Daten-Trace. Beide werden im UDE Trace-Window angezeigt und liefern Informationen für Debugging- und Analysezwecke. Ebenfalls neu hinzugekommen ist der Debug-Support für den Converter Digital Signal Processor (cDSP) des TC4x, was eine programmierbare digitale Signalverarbeitung von ADC-Signalen ermöglicht. Und auch für das Debugging des Standby-Controllers SCR der Aurix-Familie sind eine ganze Reihe von Verbesserungen implementiert.
System und Laufzeitverhalten analysieren
Für die nichtinvasive Systemanalyse und die Untersuchung von Fehlern im Laufzeitverhalten steht nun auch die Trace-Unterstützung der Traveo-T2G- und XMC7000-Familien von Infineon zur Verfügung. Die Arm-Cortex-basierenden Controller beinhalten das Arm-CoreSight-Debug- und Trace-System inklusive der Embedded Trace Marcocell (ETM) für Instruktions-Trace und der Instrumentation Trace Macrocell (ITM) für Instrumentierungs-Trace. Die Speicherung der aufgezeichneten Trace-Informationen kann wahlweise entweder auf dem jeweiligen Chip im Embedded Trace Buffer (ETB) oder im UAD2next beziehungsweise UAD3+ der Universal-Access-Device-Familie von PLS erfolgen. Trace-Unterstützung bietet die UDE 2024 auch für die RH850/U2B-Serie von Renesas. Hier besteht ebenfalls die Möglichkeit, Trace-Informationen entweder intern auf dem Chip zu speichern und dann über die Debug-Schnittstelle zur UDE für die Weiterverarbeitung zu laden oder in den externen Trace-Speicher des UAD2next beziehungsweise USD3+ zu übertragen. Für letzteres kommt ein serielles Aurora-Interface zum Einsatz.
Für die Trace-Aufzeichnung von Highend-Automotive-Microcontrollern, die eine sehr hohe Datenrate im Trace-Interface bereitstellen, steht für das UAD3+ neben dem Standard-Aurora-Trace-Pod mit bis zu 3,125 GBit/s Datenübertragungsrate das UAD3+ Serial Trace Pod 100G für eine Übertragung mit bis zu 100 GBit/s zur Verfügung.
Zugang auch über CAN
Als sehr hilfreich für die Untersuchung von Datenzugriffen mithilfe von Trace erweist sich eine neue Darstellungsoption im Trace-Window. Zusätzlich zu Dezimal- beziehungsweise Hexadezimalwerten sind nun auch Fließkommazahlen als solche darstellbar. Ebenfalls optimiert wurde die Anzeige des Call-Stacks insbesondere für Arm-basierende Controller und RH850-Bausteine. Am Breakpoint beziehungsweise generell bei angehaltener Applikation steht die Call-Stack-Anzeige jetzt auch dann zur Verfügung, wenn sich die Programmausführung in einer Interrupt- oder Trap-Behandlung befindet.
Speziell für die Entwicklung und den Test von Automotive-Applikationen bietet die UDE für den Zugang zu den Controllern auch Debugging über CAN an. Damit ist auch dann ein Debugging möglich, wenn die eigentlich dafür notwendigen Debug-Schnittstellen in Steuergeräten nicht mehr von außen zugänglich sind, weil beispielsweise das Gehäuse bereits geschlossen ist. Mit der UDE 2024 ist diese Option nicht nur für die Aurix-MCUs von Infineon, sondern auch für die Stellar-MCUs von STMicroelectronics verfügbar.
Mit der Version UDE 2024 erstmals in das Portfolio unterstützter MCUs aufgenommen wurden unter anderem die Typen STM32H745, STM32H755, STM32C011 von STMicroelectronics sowie die KW45 Bluetooth Long-Range MCU, ein Arm Cortex-M33 basierender Baustein von NXP Semiconductors.
Erste Real-Live-Demos der ab Mai verfügbaren UDE 2024 präsentiert PLS auf der embedded world 2024 (9. - 11.4.2024 Nürnberg, Halle 4, Stand 310).