Multicore-Trace und -Debugging für NXPs S32Z- und S32E-Prozessoren

EMBEDDED SYSTEMS

Mit der Version UDE 2022 stellt PLS Programmierbare Logik & Systeme die Multicore-Debug- und Trace-Funktionen seiner Universal Debug Engine für die S32Z- und S32E-Echtzeitprozessoren von NXP Semiconductors bereit. 



Der Bausteine der S32Z2- und der S32E2-Serie werden in einer 16-nm-Technologie gefertigt und kombinieren 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. 

Mit seiner UDE-Debugger-Plattform bietet PLS nach eigener Angabe Entwicklern einen einfachen 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. 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 die 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).


Mit Hilfe 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 einen konsistenten Zustand der jeweiligen Anwendung während des Debuggens. Mittels Multicore-Breakpoints soll das Debuggen insbesondere von komplexen Anwendungen mit gemeinsam genutztem Code vereinfacht werden. 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. Diese Features basieren auf erweiterten Hardware-Debugging-Funktionen des integrierten Generic Timer IP Module GTM v4.1.


Für nicht-invasives Debugging und Laufzeitanalysen ...

von Multicore-Applikationen bietet die UDE 2022 ihren Anwendern 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. 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 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 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, soll in Kürze verfügbar sein. 

Für die Aufzeichnung der Trace-Daten kann entweder das UAD2next oder das UAD3+ aus der Universal Access Devices-Familie von PLS verwendet werden. Zur Speicherung der Trace-Daten verfügt das UAD2next über 512 MB, das UAD3+ ü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 Zweck in die NXP S32Z- und S32E-Echtzeitprozessoren implementiert wurde.
 

Fachartikel