Debugging UDE Universal Debug Engine NXP

(Bild: PLS)

Die S32Z- und S32E-Echtzeitprozessoren erweitern die bestehende S32-Automotive-Plattform von NXP. Für konsolidierte Domänen- und zonale Fahrzeugarchitekturen konzipiert, bieten die Bausteine ein gutes Echtzeitverhalten eines Mikrokontrollers. Sie kombinieren darüber hinaus hohe Taktraten bis in den Gigahetz-Bereich mit sicherer Integration von mehreren parallelen Anwendungen und vielen Möglichkeiten der Speichererweiterung. Damit eignen sich die Echtzeitprozessoren für die Steuerung des Antriebsbereiches, die Elektrifizierung und für sicherheitskritische Anwendungen.

Gefertigt in einer 16-nm-Technologie kombinieren die Bausteine der S32Z2- und der S32E2-Serie acht mit 600 MHz bis 1 GHz getaktete Arm Cortex-R52-Kerne mit Cortex-M33-Kernen für spezielle Zwecke wie Systemmanagement und Kommunikation. Echtzeitanwendungen können auf umfangreiche Timer-Funktionen zurückgreifen, die durch das auf den Chips zusätzlich implementierte geclusterte Generic Timer IP Module (GTM v4.1) zur Verfügung stehen. Ein Network-on-Chip (NoC) sorgt für eine schnelle Kommunikation zwischen den Clustern mit den Hauptrechenkernen und den anderen funktionalen Komponenten. Abhängig von den Modelvarianten stehen darüber hinaus bis zu 64 MB Flash-Speicher zur Verfügung. Der nichtflüchtige Speicher kann durch externe QuadSPI NOR-, eMMC- oder SDHC NAND-Speicher sowie durch LPDDR4-Flash-Speicher zur Unterstützung umfangreicher Anwendungen und Daten erweitert werden.

Anzeige: Wie Echtzeitprozessoren neue Fahrzeugarchitekturen voranbringen

Auto NXP Echtzeitprozessoren Fahrzeugarchtiektur
(Bild: NXP)

Mit dem Ersatz des Hardware-Ansatzes bei Architekturen durch ein software-orientiertes Modell können OEMs die Funktionen der ECU in Multicore-Prozessoren zusammenfassen, die die Isolation von Software-Anwendungen unterstützen und upgradefähig sind. NXP erklärt hier ausführlich, wie sich die Echtzeitprozessoren nutzen lassen.

Mit seiner UDE-Debugger-Plattform bietet PLS Entwicklern einen direkten Zugang zu den Funktionseinheiten der S32Z2- und S32E2-Bausteinen. Die Cortex-R52 Hauptkerne, die Cortex-M33-Systemmanagement- und Kommunikationskerne sowie der GTM sind alle gleichzeitig in einer gemeinsamen Debugger-Instanz sichtbar und werden auch von dort gesteuert. Es ist nicht notwendig, separate Debugger-Instanzen für die verschiedenen Core-Architekturen zu öffnen. Die UDE ermöglicht das Debuggen von C/C++ sowie Assembler-Code für die Cortex-basierten Kerne einschließlich des Arm- und Thumb-2-Befehlssatzes. Das Debugging der Multi Channel Sequencer (MCS) des GTM kann sowohl auf Assembler- als auch auf C-Code-Ebene durchgeführt werden. Dabei unterstützt die UDE GTM-C-Compiler verschiedener Compiler-Hersteller.

Das MemTool-Add-on als integraler Bestandteil der UDE erlaubt eine sichere Programmierung des integrierten Flash-Speichers sowie der externen QuadSPI-NOR-, eMMC- und SDHC-NAND-Speicher und unterstützt dabei auch On Chip One-Time-Programming (OCOTP).

Mithilfe des Multicore-Run-Control-Managements der UDE 2022 lassen sich die Cores der S32Z- und S32E-Echtzeitprozessoren auch mit traditionellem Run-Mode-Debugging kontrollieren, d.h. mittels Breakpoints und im Single-Step-Betrieb, und zwar entweder alle zusammen, in Gruppen oder einzeln. Alle Cores in einer solchen Run-Control-Gruppe können nahezu synchron gestartet und gestoppt werden. Dies gewährleistet immer einen konsistenten Zustand der jeweiligen Anwendung während des Debuggens. Mittels Multicore-Breakpoints wird das Debuggen insbesondere von komplexen Anwendungen mit gemeinsam genutztem Code vereinfacht. Ein Multicore-Breakpoint ist immer wirksam, unabhängig davon, welcher Kern den jeweiligen Code gerade ausführt. Darüber hinaus wurden bei der UDE 2022 die Debugging-Funktionen für die Channel-Programme der Multi-Channel-Sequencer des GTM um Breakpoints und Single Stepping erweitert.

Für nicht-invasives Debugging und Laufzeitanalysen von Multicore-Applikationen bietet die UDE 2022 ihren Anwendern umfangreiche Funktionen, die auf aufgezeichneten Trace-Informationen aus dem Arm-CoreSight-Trace-System der S32Z- und S32E-Bausteinfamilie basieren. Dabei können sowohl der Programmablauf als auch Datentransfers aufgezeichnet werden. Umfangreiche Konfigurationsmöglichkeiten für die ETMv4 der Cortex-R52-Cores sowie für die ETM-M33 der Cortex-M33-Cores erlauben bereits auf dem Chip eine umfassende Filterung der aufzuzeichnenden Trace-Daten. Neben dem Core-Trace können auch die Transaktionen über das NoC vom Trace-System beobachtet und mit der UDE 2022 analysiert werden. Auch hierfür bietet die UDE 2022 weitreichende Konfigurationsmöglichkeiten zur Filterung der Daten. Die Trace-Unterstützung für das GTM, einschließlich Programm-Trace für die MCS-Kanalprogramme sowie Trace von GTM-Signalen, ist in Kürze verfügbar. Für die Aufzeichnung der Trace-Daten können Entwickler entweder das UAD2next oder das UAD3+ aus der Universal Access Devices-Familie von PLS verwenden. Zur Speicherung der Trace-Daten verfügt das UAD2next über 512 MB, das UAD3+ sogar über bis zu 8 GB Trace-Speicher. Der Download der Trace-Daten vom Chip zur UDE 2022 erfolgt über den High Speed Serial Trace Port (HSSTP), der zu diesem Zwecke in die NXP S32Z- und S32E-Echtzeitprozessoren implementiert wurde.

Sie möchten gerne weiterlesen?

Unternehmen

PLS Programmierbare Logik & Systeme GmbH

Technologiepark
02991 Lauta
Germany