Umfangreiche Fehlersuch- und Systemanalyse-Funktionen für die Arm-basierten S32S247- und i.MX RT High-End-MCUs von NXP bietet die aktuellste Version der Universal Debug Engine® (UDE) von PLS Programmierbare Logik & Systeme.
Der Multicore-Controller S32S247 als weiterer Baustein der S32 Automotive Platform von NXP vereint vier mit bis zu 800 MHz getaktete Cortex-R52, die jeweils noch einen Lockstep-Core besitzen, mit 16 MByte integriertem FLASH. Ausgelegt auf sicherheitskritische Echtzeitverarbeitung bis ASIL-D, adressiert der Bausteinverschiedenste Steuerungs-Domänen vorrangig in Fahrzeugen mit Hybrid- und elektrischen Antrieben. Die im Vergleich zur Vorgängergeneration bis zu 7-fach höhere Rechenleistung erschließt der MCU zusätzlich vielfältige Einsatzmöglichkeiten im Bereich des autonomen Fahrens. Die mit einen Arm Cortex-M7 ausgestatteten i.MX RT Crossover-Prozessoren können je nach Ausführung mit bis zu einem Gigahertz getaktet werden. Mit ihrer hohen Leistungsfähigkeit und ihren Echtzeitfunktionen adressieren sie unterschiedlichste Anwendungen aus den Bereichen IoT, Consumer Electronics, Industrieelektronik und Automobiltechnik.
In beiden Fällen profitieren Entwickler bei der Fehlersuche und der Systemanalyse von der einfachen intuitiven Bedienbarkeit der UDE-eignen Benutzeroberfläche. Weder die Einstieg in die UDE noch der Umstieg von einer anderen Mikrocontroller-Architektur auf die neuen NXP-Bausteine erfordert einen großen Einarbeitungsaufwand. Dabei bietet die UDE ihren Anwendern ungewöhnlich viel Freiraum für Anpassungen an individuelle Vorlieben und Bedürfnisse. Besonders hilfreich erweisen sich hier neben den interaktiven Debug-Möglichkeiten unter anderem die vielseitigen Visualisierungsmöglichkeiten der Applikationszustände in der UDE-Benutzeroberfläche und der umfassende Scripting Support, der auch die Voraussetzungen für ein automatisiertes Debugging und Testen schafft. Einzigartig ist dabei auch die Unabhängigkeit der UDE von einer spezifischen Skriptsprache. Dank der Verwendung von Microsoft COM als Basistechnologie für die Software-API der UDE können Entwickler auch weiterhin auf ihre präferierte Skriptsprache wie Python, Perl, JavaScript etc. zurückgreifen.
Speziell für den Multicore-Controller S32S247 stehen zudem Multicore-Debug-Funktionen wie Multicore-Run-Control für synchrones Stoppen und Starten und Multi-Core-Breakpoints, die in gemeinsam verwendetem Code benutzt werden können, zur Verfügung. Das Debuggen und die Laufzeitanalyse von Anwendungen, die über alle oder mehre Kerne des S32S247 verteilt sind, erfolgt effizient und benutzerfreundlich in einer einzigen Debug-Sitzung und innerhalb einer einzigen gemeinsamen Debugger-Instanz. Darüber hinaus bietet das in der UDE verfügbare Memtool Funktionen, die eine einfache und sichere Programmierung der integrierten FLASH-Speicher ermöglichen.
Einen schnellen und zuverlässigen Zugang zu den S32S247- und i.MX RT-MCUs gewährleisten die Geräte UAD2pro, UAD2next und UAD3+ der Universal Access Device-Familie von PLS. Je nach Anforderung kommen dabei die Arm-spezifische Serial Wire Debug (SWD) Schnittstelle, JTAG oder auch cJTAG zum Einsatz. Über die Arm CoreSight Trace-Implementierung der Mikrocontroller und dem High Speed Serial Port (HSSTP) des S32S247 bzw. der parallelen Trace-Schnittstelle der i.MX RT-Familie ist zudem die Aufzeichnung von Trace-Daten möglich. Beim UAD2next stehen dafür 512 Mbyte, beim UAD3+ bis zu 4 GByte interner Trace-Speicher zur Verfügung. Mit Hilfe der aufgezeichneten Trace-Daten ermöglicht die UDE eine sehr detaillierte Analyse des Laufzeitverhaltens und bietet unter anderem spezielle Funktionen für Profiling und Code Coverage.