Optimierte Fehlersuche Synchrones Debuggen

Multi-Target-Debug-Adapter für synchrones Debuggen in Multi-Chip-Systemen

Mit dem neuen Multi-Target-Debug-Adapter für das Universal Access Device UAD3+ der Universal Debug Engine (UDE) präsentiert PLS Programmierbare Logik & Systeme auf der electronica 2018 das erste Tool, das ein synchrones Debugging von Multi-Chip-Systemen erlaubt.

PLS‘ modulare Multi-Target-Debug-Adapter unterstützen unterschiedlichste High-Performance-Systeme, die mit zwei getrennten Mikrocontrollern auf einem Board redundante und gegebenenfalls invertierende Steueralgorithmen ermöglichen. Ein besonderer Fokus gilt dabei Anwendungen mit höchsten Anforderungen an die funktionale Sicherheit und Fehlertoleranz, beispielsweise Fail-Operational-Systemen im Bereich des autonomen Fahrens. Aber auch in aktuellen High-Performance-Automotive-Systemen wie den seit Kurzem von Infineon verfügbaren Automotive-Gateway-Entwicklungs-Boards mit zwei Infineon-Aurix-Multicore-Mikrocontrollern stellt das Toolkit seine Debug-Fähigkeiten unter Beweis.

Der Multi-Target-Debug-Adapter für das UAD3+ ermöglicht ein nahezu synchrones Anhalten und Wiederloslaufen von zwei eng verzahnten Aurix-Mikrocontrollern. Dafür wird an den separaten Debug-Schnittstellen der beiden Bausteine jeweils ein Standard-Debug-Adapter angeschlossen. Diese werden dann über den Multi-Target-Debug-Adapter mit einem Debug-Pod des UAD3+ verbunden, das über die zwei notwendigen Debug-Kanäle verfügt.

Ergänzend zu den Steckverbindern für die Standard-Debug-Adapter besitzt der Multi-Target-Debug-Adapter einen zusätzlichen Anschluss für bestimmte Trigger-Signale der beiden Aurix-Controller. Eine spezielle Logik im Multi-Target-Debug-Adapter verknüpft die Trigger-Leitungen so, dass ein nahezu synchrones Anhalten und Wiederloslaufen der beiden Aurix-Mikrocontroller möglich wird. Dabei spielt es keine Rolle, ob das Gesamtsystem auf einen Breakpoint in einem der beiden Controller oder auf eine vom Nutzer ausgelöste Break-Aktion reagiert. Der durch die interne Logik des Adapters und die Signallaufzeiten auftretende Zeitversatz beim Anhalten beziehungsweise Wiederloslaufen zwischen beiden Controller beträgt im Mittel nur zirka 65 ns, also bei typischen 300 MHz Taktfrequenz weniger als 20 Takte.

Beide Aurix-Mikrocontroller sind in einer Debug-Session innerhalb einer gemeinsamen Benutzeroberfläche zugänglich und kontrollierbar. Selbstverständlich steht darüber hinaus auch das etablierte Multicore-Run-Control-Management der UDE für das Debugging dieser Multi-Aurix-Plattform zur Verfügung. Dabei können alle oder eine definierbare Anzahl von Kernen der beiden Controller in einer Run-Control-Gruppe zusammengefasst werden. Breakpoints, manuelles Anhalten und natürlich auch synchrones Wiederloslaufen sind für alle Kerne dieser Gruppe gemeinschaftlich wirksam.
PLS, www.pls-mc.com, Halle B4, Stand W22