Optimierte Tracing-Funktionen in UDE 2023

EMBEDDED SYSTEMS

Einen Schnellzugang zu Trace-Systemen unterschiedlicher Mikrocontroller und Embedded-Prozessoren ermöglichen die UDE SimplyTrace-Funktionen, die PLS Programmierbare Logik & Systeme ab sofort Nutzern der Universal Debug Engine UDE 2023 bietet.



Tracing ist eine Debug-Methode zur Untersuchung von Fehlern, Timing-Problemen oder zur Identifizierung von Engpässen in eingebetteten Anwendungen. Es wird vor allem dann genutzt, wenn das Laufzeitverhalten der untersuchten Applikation während des Debuggings nicht beeinflusst werden darf.


Das Problem

Für die effiziente Nutzung von Trace muss zunächst das Trace-System des verwendeten Mikrocontrollers konfiguriert werden. Das kann zeitaufwendig sein und erfordert Wissen über das Trace-System des jeweiligen SoCs.


Wie lässt sich das vereinfachen? 

Das UDE SimplyTrace-Feature vereinfacht diesen Prozess, indem Trace-Funktionen von typischen Anwendungsfällen übernommen und kontextsensitiv an die verschiedenen Debugger-Ansichten angehängt wurden. So kann beispielsweise die Trace-Aufzeichnung direkt aus dem Quellcode-Fenster heraus für die Anwendungsfälle "Trace from source code line" oder "Trace to source code line" konfiguriert werden. Dies ist laut PLS so einfach wie das Setzen eines Haltepunktes. Zusätzlich kann die mit den UDE SimplyTrace-Funktionen erstellte Trace-Konfiguration auch nachträglich mit den regulären Konfigurationswerkzeugen der UDE angepasst und erweitert werden.


Wie funktioniert das?

Die Implementierung des Features basiert auf einer zunehmenden Abstraktion über verschiedene Schichten. Die unterste Schicht umfasst die Funktionen der On-Chip-Trace-Komponenten, die oberste Schicht spiegelt die Anwendungsfälle des Softwareentwicklers wider. Dieser Ansatz ermöglicht eine einfache Erweiterung sowohl hinsichtlich neuer Trace-Architekturen als auch weiterer Anwendungsfälle.

Die erste UDE SimplyTrace-Implementierung bietet zunächst die häufig benutzten Programm-Trace-Funktionen sowie grundlegende Daten-Trace-Anwendungsfälle wie z.B. die Beobachtung von Datenzugriffen auf Variablen. Weitere Anwendungsfälle, wie beispielsweise Daten-Trace von Registerzugriffen oder vereinfachter Task-Trace für Echtzeitbetriebssysteme, sind in der Entwicklung.


Anwendung

Erfahrene EntwicklerInnen, die sich mit den von den jeweiligen Mikrocontrollern bereitgestellten Trace-Funktionen bereits gut auskennen, können die mit UDE SimplyTrace erstellten Trace-Konfigurationen als Vorlage verwenden und mittels den regulären Konfigurationswerkzeugen in der UDE, wie z.B. dem Universal Emulation Configurator (UEC), bearbeiten. Dies ermöglicht es, die Trace-Aufgabe anzupassen oder zu erweitern, falls die spezifischen Anforderungen über die typischen Anwendungsfälle hinausgehen. Der Ansatz funktioniert unabhängig vom eingesetzten Mikrocontroller.


Verfügbarkeit

Mit der UDE 2023 stehen die UDE SimplyTrace-Funktionen ab sofort für die Microcontroller-Bausteine der Infineon AURIX-Familie, für Arm Cortex-MCUs mit entsprechendem CoreSight Debug- und Trace-System und für PowerArchitecture-basierte Bausteine mit NEXUS Class 3 Trace-Unterstützung zur Verfügung.

Fachartikel