Die S32G3-Serie erweitert die S32G Familie und ist Teil der S32 Automotive Platform von NXP. Entwickelt für zentralisierte Aufgaben in zonenbasierten, softwaredefinierten Fahrzeugen, bietet der Baustein ein leistungsfähiges Upgrade für Gateways, Domänenkontroller und Systemsicherheitsdienste. Um den hohen Anforderungen des autonomen Fahrens und der nächsten Generation von ADAS gerecht zu werden, kombiniert der S32G3 höchste ASIL-D- und Hardwaresicherheit mit sehr hoher Echtzeit- und Rechenperformance.
Für maximale Skalierbarkeit verfügt der S32G3 über das gleiche Pinout wie die anderen Mitglieder der S32G-Familie. Bis zu acht Arm Cortex-A53 Cores, die in zwei Clustern zu je vier Cores mit optionalem Cluster-Lockstep organisiert sind, stellen die Rechenleistung für Anwendungen und Dienste bereit. Speziell für Echtzeitanwendungen sind zusätzlich bis zu vier Arm Cortex-M7 Dual-Core Lockstep (DCLS) Einheiten in den Bausteinen integriert. Um die hohen Sicherheitsanforderungen heutiger und zukünftiger Fahrzeuganwendungen zu erfüllen, steuert eine Hardware Security Engine (HSE) alle nötigen Funktionen für die Absicherung des Boot-Prozesses und zur Beschleunigung von Security-Algorithmen bei.
Was UDE für Systementwickler leistet
Damit die Leistungsfähigkeit des S32G3 optimal genutzt werden kann, unterstützt die Universal Debug Engine (UDE) Systementwickler umfassend beim Multicore-Debugging und Tracing. So zeichnet sich die neueste Version der Universal Debug Engine unter anderem durch eine einfache und intuitive Bedienung aus, die neben einem äußerst effizienten Debugging zum Beispiel auch Laufzeitanalysen von Anwendungen für die neuen NXP-Bausteine ermöglicht. Die Cortex-A53-Prozessorkerne und die Cortex-M7-Kerne sind alle für den Anwender sichtbar und können innerhalb der gemeinsamen Debugger-Oberfläche gesteuert werden. Es besteht keine Notwendigkeit, separate Debugger-Instanzen für die verschiedenen Cores zu öffnen.
Für echtes Multicore-Debugging bietet das Multicore-Run-Control-Management der UDE eine flexibel steuerbare Synchronisation der verschiedenen Cores des S32G3 für das Run-Mode-Debugging. Breakpoints oder Single-Steps wirken je nach Anforderungen der aktuellen Debug-Aufgabe auf einen einzelnen Core, auf alle Cores, oder auch auf Core-Gruppen. Alle Cores in einer solchen Run-Control-Gruppe können nahezu synchron gestartet und gestoppt werden. Damit bleibt der interne Zustand der jeweiligen Anwendung während des Debuggens konsistent. Multicore-Breakpoints vereinfachen zudem das Debugging von komplexen Anwendungen. Diese kommen insbesondere in gemeinsam genutztem Code zum Einsatz. Ein Multicore-Breakpoint ist unabhängig davon wirksam, welcher Kern den jeweiligen Code gerade ausführt.
Tiefgreifende Analyse auf Systemebene
Für eine tiefgreifende Analyse auf Systemebene und für nicht-invasives Debugging von Multicore-Anwendungen bietet die UDE umfangreiche Funktionen, die aufgezeichnete Trace-Informationen des Arm-CoreSight-Trace-Systems nutzen. Damit lassen sich typische Schwierigkeiten bei paralleler Ausführung oder Timing-Probleme untersuchen. Basierend auf dem aufgezeichneten Trace stellt die UDE eine Vielzahl von Analysefunktionen wie Profiling, Call-Graph-Analyse und auch Code Coverage zum Nachweis der Qualität von Softwaretests bereit. Ergänzend zu den Trace-Funktionen für die Cortex-A53- und Cortex-M7-Cores bietet das umfangreiche Softwaretool auch Unterstützung für das Tracing der Transaktionen über das Network-on-Chip (NoC), das für die Kommunikation zwischen den Cores und den anderen Komponenten des S32G3 verwendet wird.
Zur Speicherung der erfassten Trace-Daten kann entweder das UAD2next oder das UAD3+ aus der Familie der Universal Access Devices von PLS verwendet werden. Das UAD2next verfügt über 512 MB Trace-Speicher, das UAD3+ bis zu 4 GB. Der schnelle Download der Trace-Daten vom Chip zur UDE erfolgt über den High-Speed Serial Trace Port (HSSTP) der S32G3 mit bis zu 5 Gbit/s pro Lane.
Eine einfache und sichere Programmierung des externen OctalSPI-Flashs wird durch das MemTool Add-on ermöglicht, das integraler Bestandteil der UDE ist. eMMC sowie OCOTP (On Chip One-Time Programming) werden ebenfalls unterstützt.