PLS Universal Debug Engine Test- und Debug-Tools für aktuelle Multicore-SoCs

Redakteur: Margit Kuther

PLS‘ Universal Debug Engine unterstützt alle Funktionen der neuesten Qorivva-Automotive-SoCs von Freescale.

Firmen zum Thema

PLS Universal Debug Engine: Test- und Debug-Tools für die aktuellen Qorivva-Automotive-SoCs
PLS Universal Debug Engine: Test- und Debug-Tools für die aktuellen Qorivva-Automotive-SoCs
(Bild: © Sergey Nivens - Fotolia)

Parallel zur Vorstellung der neuesten Qorivva-Derivate durch Freescale stellt PLS Programmierbare Logik & Systeme Systementwicklern mit ihrer Universal Debug Engine (UDE) als einer der ersten Toolanbieter speziell auf die Eigenschaften und Funktionen der Multicore-SoCs (System-on-Chips) MPC5746M, MPC5777M, MPC5748G, MPC5746C, MPC77xK und MPC574xP hin optimierte Entwicklungswerkzeuge zur Verfügung.

Überblick über komplettes Multicore-System

Mehrere bereits vorbereitete Konfigurationen der UDE garantieren eine unkomplizierte erste Verbindungsaufnahme sowie eine schnelle und sichere Programmierung der unterschiedlich großen auf den Qorivva-Bausteinen integrierten Flash-Speicher.

Mit Hilfe des Multicore-/Multiprogram-Loaders der UDE können die jeweiligen Programmcodes und zugehörigen Debug-Informationen flexibel einzelnen Cores zugeordnet werden. Dabei wird die heterogene Struktur der SoCs, die neben den Hauptkernen je nach Typ weitere programmierbare Einheiten wie ein Generic Timer Module (GTM) oder ein Security-Module (HSM) enthalten können, optimal unterstützt.

Durch die Core-spezifische Gruppierung von Debugger-Windows – wahlweise mit automatischer Ein- und Ausblendung in Abhängigkeit vom aktiven Core sowie unterschiedlicher Farbgebung – erhalten UDE-Anwender innerhalb nur einer einzigen konsistenten Bedienoberfläche einen optimalen Überblick über ihr komplettes Multicore-System.

Steuerung der Cores via Multi-Run-Control-Funktion

Die Steuerung der diversen Cores durch den Debugger erfolgt über die sogenannte Multi-Run-Control-Funktion, die unter Ausnutzung der auf dem jeweiligen Chip integrierten Debug-Logik ein nahezu synchrones Starten und Stoppen verschiedener Cores ermöglicht.

Zusätzlich erleichtert wird das Debuggen durch die in der UDE neu implementierten Multicore-Breakpoints, mit deren Hilfe in gemeinsam verwendetem Code ganz einfach ein für alle Cores gleichzeitig wirkender Breakpoint gesetzt werden kann Daten-Breakpoints erlauben die Erkennung von Lese- und/oder Schreibzugriffen auf eine Variable. Optional kann sogar auch noch ein Erwartungswert berücksichtigt werden.

Hochgeschwindigkeits-Schnittstelle, basierend auf dem AURORA-Protokoll

Besonders großer Wert wurde bei der Optimierung der UDE auch auf eine effiziente Unterstützung aller in Frage kommenden Trace-Varianten gelegt. Während bei den Typen MPC5746C, MPC5748G und MPC574xP der Datentransfer über einen konventionellen Parallel-Port erfolgt, steht für die MPC5746M-, MPC577xK-, MPC5777M- und MPC574xP-Bausteine eine serielle, auf dem AURORA-Protokoll basierende Hochgeschwindigkeits-Schnittstelle zur Verfügung.

Diese bietet typabhängig vier oder zwei Lanes mit je 1,25 GBit/s Datenübertragungsrate, die vom AURORA-Trace-Pod des Universal Access Device (UAD) 3+ ohne Einschränkungen verarbeitet werden. Für Parallel-Trace können Anwender darüber hinaus auf ein Pod mit bis zu 32 Bit Aufzeichnungsbreite zurückgreifen.

Baustein-spezifische Optimierungen der UDE

Besonders stark zum Tragen kommen die verschiedenen Baustein-spezifischen Optimierungen der UDE unter anderem bei den speziell für Motorsteuerungen entwickelten Qorivva-Derivaten MPC5746M und MPC5777M.

Bei diesen SoCs hat Freescale auch auf dem Serienchip einen einige KByte großen Trace-Speicher integriert, der sich zusammen mit der ebenfalls auf dem Chip untergebrachten Signal Processing Unit (SPU) ideal zur Fehlersuche eignet.

Die normalerweise auf Registerebene nur mühsam programmierbare SPU kann mit dem zur UDE optional erhältlichen Universal Emulation Configurator (UEC) von PLS sehr einfach für verschiedene Messaufgaben konfiguriert werden. Das hierbei zugrunde liegende State-Machine-Modell erlaubt neben der Steuerung der Trace-Aufzeichnung auch die Definition von komplexen Breakpoints mit Sequenzer-Logik.

(ID:42929029)