Die Steuerung eines Multi-Core-Systems und das Debugging werden mit der UDE in einer Benutzeroberfläche mit einem konsistenten Design ausgeführt. Universal Multi-Core Workbench ist ein neues Add-On für die bekannte modulare Universal Debug Engine. Mit seinen herausragenden Eigenschaften bietet es Softwareentwicklern von Multi-Core-SoCs Arbeitserleichterung, Klarheit und Effizienz.
Das Konzept wird durch Sichtbarkeitsgruppen für Fenster einzelner Cores oder auch durch Zusammenstellungen von benutzerspezifischen Debugger-Ansichten ergänzt. Verschiedene Compiler-Konzepte für Multi-Core-Targets werden durch den implementierten Multi-Core-/Multi-Program-Loader unterstützt. Er ermöglicht das separate Laden von Speicher-Images und symbolischen Informationen aus den Ausgabedateien des Compilers spezifisch für jeden einzelnen Core.
Zur Steuerung eines Multi-Core-Targets ermöglicht die UDE die Synchronisation von zwei oder mehr Kernen innerhalb sogenannter Run-Control-Gruppen, um gemeinsames Starten und Stoppen oder gemeinsame Einzelschritte zu definieren. Dies beinhaltet auch die umfassende Anwendung von bestehenden On-Chip-Trigger- und Synchronisationsoptionen verschiedener Mikrocontrollerhersteller. Die konsistente Benutzeroberfläche gewährleistet höchstmögliche Flexibilität bei der Steuerung eines Multi-Core-Targets, ohne dabei die zugrundeliegende On-Chip-Logik im Detail kennen zu müssen.
Zur Steuerung eines Multi-Core-Targets ermöglicht die UDE die Synchronisation von zwei oder mehr Cores innerhalb sogenannter Run-Control-Gruppen, um gemeinsames Starten und Stoppen oder synchrone Einzelschritte zu definieren. Dies beinhaltet auch die umfassende Anwendung von bestehenden On-Chip-Trigger- und Synchronisationsoptionen verschiedener Mikrocontrollerhersteller. Die konsistente Benutzeroberfläche gewährleistet höchstmögliche Flexibilität bei der Steuerung eines Multi-Core-Targets, ohne dabei die zugrundeliegende On-Chip-Logik im Detail kennen zu müssen.
Für die einfache Verarbeitung von großen Datenmengen, die beim Tracen mehrerer Quellen auftreten, ist die UDE mit einem Multi-Core-Trace-Framework ausgerüstet, das auf der einen Seite konventionelles Troubleshooting auf der Grundlage aufgezeichneter Daten ermöglicht und auf der anderen Seite verschiedene statistische Analysen wie die Profiling-Analyse und Code-Coverage bietet.
Mit Hilfe des Targetmanagers können Cores und Funktionseinheiten spezifisch für das Debugging ausgewählt werden. Um die Übersicht über mehrere Cores zu behalten, sind die Debug-Fenster-Tabs und die Toolbars core-spezifisch gefärbt.
Das Konzept wird durch Sichtbarkeitsgruppen für Fenster einzelner Cores oder auch durch Zusammenstellungen von benutzerspezifischen Debugger-Ansichten ergänzt. Verschiedene Compiler-Konzepte für Multi-Core-Targets werden durch den implementierten Multi-Core-/Multi-Program-Loader unterstützt. Er ermöglicht das separate Laden von Speicher-Images und symbolischen Informationen aus den Ausgabedateien des Compilers spezifisch für jeden einzelnen Core.
Das Universal Access Device 3+ (UAD3+) setzt neue Standards beim Multi-Core-/Multi-Target-Debugging und beim High-End-Real-Time-Tracing. Das UAD3+ basiert auf einem modularen Konzept und bietet High-Speed-Debug-Zugriff auf TriCore und PowerArchitecture sowie weitere Mikrocontroller-Architekturen. Mehrere JTAG-Extender-Pods können über ein langes Kabel angeschlossen werden. So wird eine flexible Anpassung an den Target-Anschluss gewährleistet. Das UAD3+ wurde für die beste Leistung in seiner Klasse entworfen.
Das Universal Access Device 3+ ermöglicht die Aufzeichnung von Echtzeit-Trace-Information über eine serielle Highspeed-Trace-Schnittstelle.
Zusammenfassend ist die Universal Multi-Core Workbench ein neues Entwicklungstool, welches das Debugging und Softwaretesting bei Multi-Core-SoCs erheblich optimiert.
In der Praxis wird die Universal Multi-Core Workbench zum ersten Mal bei den neuen Multi-Core-Mikrocontrollern für Automobilanwendungen eingesetzt, die in gemeinsamer Zusammenarbeit von Infineon, Freescale und STMicroelectronics auf den Markt gebracht wurden.
Diese neuen Multi-Core-Mikrocontroller sind Meilensteine in Sachen Echtzeit-Effizienz bei Automobilanwendungen. Sie enthalten drei Prozessorkerne, die so durch eine Crossbar miteinander verbunden sind, dass sie mit voller Geschwindigkeit und ohne Zugriffskonflikte laufen. Außerdem umfasst die Implementierung einige Flash-Module und ein benutzerfreundliches und leistungsstarkes mikroprogrammierbares Timer-Modul (bis zu 8 Mikro-Cores), das den Hauptprozessor durch fast unabhängige Erzeugung von Motorsteuerungssignalen entlastet. Diese Mikrocontroller erfordern neue Konzepte und Debugging-Funktionen für die Entwicklung von Software für Motorsteuergeräte (Engine Control Unit, ECU).
Die neuen Funktionen zum Testen von Multi-Core-Software, die auf bis zu 5 Cores (3 Haupt-Cores, mikroprogrammierbares Timer-Modul und Security Core) in harter Echtzeit ausgeführt wird, werden durch die Marktführer für Motorsteuergeräte zum ersten Mal bei Antriebssträngen (Motor- und Getriebesteuerung) eingesetzt.