Multi-core Microcontroller Debugging

Die Steuerung eines Multicore-Systems und das Debugging erfolgen unter einer einheitlichen Benutzeroberfläche. Universal Multi-Core Workbench ist ein neues Add-on zur bekannten modularen Universal Debug Engine. Mit seinen herausragenden Eigenschaften hilft es Entwicklern von Software für Multicore-Microcontroller, ihre Arbeit einfacher, übersichtlicher und effizienter zu gestalten. Erweitert wird das Konzept durch Sichtbarkeitsgruppen für Fenster einzelner Cores oder frei definierbare Sammlungen von Debugger-Ansichten entsprechend den Anforderungen des Anwenders. Der implementierte Multicore-/Multiprogramm-Loader unterstützt verschiedene Compilerkonzepte für Multicore-Targets. Er ermöglicht das separate Laden von Speicherabbildern und symbolischen Informationen aus den Compilerausgabedateien, spezifisch für jeden Core.

Multicore debugging Screenshot

Zur Steuerung eines Multicore-Targets ermöglicht die UDE die Synchronisation von zwei oder mehr Cores zu sogenannten Run-Control-Gruppen, um gemeinsame Start- und Stopp-Zeiten oder gemeinsame Einzelschritte zu definieren. Dazu gehört auch die umfassende Nutzung vorhandener On-Chip-Trigger- und Synchronisationsmöglichkeiten verschiedener Gerätehersteller. Die einheitliche Benutzerschnittstelle gewährleistet größtmögliche Flexibilität bei der Steuerung eines Multicore-Targets, ohne dass die zugrunde liegende On-Chip-Logik im Detail bekannt sein muss.

Eigenschaften der Multi-Core-Workbench

  • Multi-Core-Debugging-Target-Manager zur Auswahl von Cores und Funktionseinheiten zum Debuggen von core- oder benutzerspezifischen Sichtbarkeitsgruppen in der UDE Open Platform, inklusive core-spezifischer Farbgebung
  • Multi-Core-Programmlader zur Verteilung von Binärmustern und zur Auswahl von kern-spezifischen Symbolinformationen
  • Grafische Code-Abdeckungsanalyse ermöglicht strukturelle Abdeckung zur Erfüllung der ISO26262-Anforderungen
  • Profilierungsfunktionen basierend auf Tracedaten von On-Chip-Emulatoren (MCDS und SPU), einschließlich AURORA-Trace, Nexus, ETM, ETB, TMC,Befehlszeiger-Snooping oder Simulatorausgabe.
  • Universal Emulation Configurator (UEC) beschreibt Messaufgaben für On-Chip-Emulatoren
  • Paralleler Test von Software für mehrere Cores unabhängig von deren Architektur innerhalb einer Benutzerschnittstelle
  • Synchronisation mehrerer Cores für Debugging (gemeinsames Starten und Stoppen) und parallele Visualisierung von Kontextinformationen nach synchronisierter Programmausführung
  • Grafische Visualisierung von Variablen aus Programmen verschiedener Cores als zeitbasiertes, zweidimensionales Diagramm in einer gemeinsamen Ansicht
  • Zentrales Management für den Download und die Verteilung von Software aus einer oder mehreren ELF-Dateien auf mehrere Cores
  • Multicore-Trace mit gemeinsamer Analyse und Visualisierung der ausgeführten Programm- und Datenzugriffe in einer oder mehreren Ansichten der Entwicklungsoberfläche.