PLS Support für High-End-Automotive-MCUs ausgebaut

PLS Programmierbare Logik & Systeme bietet ihre Universal Debug Engine (UDE) 2.7 ab sofort auch für die 32-Bit-MCUs der MPC5668x-Serie von Freescale Semiconductor auf Basis der Power Architektur an.

Die speziell für den Einsatz als zentraler Body-Elektronik-Controller und für Automotive Gateway-Anwendungen konzipierten und mit bis zu 116 MHz getakteten High-End-Automotive-Mikrocontroller sind mit einem e200z650-Core als Master, einem e200z0-Core als Slave-I/O-Prozessor, 2 MByte Flash und bis zu 592 KByte SRAM ausgestattet. Der modulare Aufbau der UDE 2.7 kommt vor allem beim Multicore-Debugging auf einer Bedienoberfläche zum Tragen. So können beispielsweise die durch On-Chip-Hardware unterstützten vier Code-Breakpoints und zwei Watchpoints je Core vom Entwickler direkt im Programm- bzw. Watch-Window des entsprechenden Cores genutzt werden. Natürlich werden auch alle weiteren On-Chip-Trigger-Möglichkeiten von der UDE 2.7 uneingeschränkt unterstützt. Der Debugger übernimmt dabei selbstständig die Verwaltung der On-Chip-Debug-Ressourcen.

Die Verbindung zu Dual-Core-Bausteinen erfolgt typischerweise über nur ein JTAG-Interface. Der JTAG-Extender der Universal Access Device-Famile (UAD2+/UAD3+) von PLS erlaubt dabei eine Distanz von mehreren Metern zwischen Target und Host-PC bei hoher Störfestigkeit und Transferraten von bis zu 1 MByte/s. Dies garantiert Anwendern der MPC5668-Serie nicht nur eine extrem schnelle Flash-Programmierung und kurze Turn-around-Zeiten während der Entwicklung, sondern auch die Möglichkeit des Einsatzes der Universal Debug Engine für Wartung und Service.

Die auf allen Bausteinen der MPC5668-Familie vorhandene Nexus-Einheit ermöglicht dem Debugger zudem Speicherzugriffe während der Programm-Laufzeit. Nutzen lässt sich dieses Feature unter anderem zur Echtzeit-Visualisierung von Variablen bzw. deren Verknüpfungen zu physikalischen Größen. Darüber hinaus wurde auf diesem Weg eine virtuelle Ein-/Ausgabe-Schnittstelle über den JTAG-Debug-Kanal realisiert. Programm- und Daten-Trace über die Nexus-Schnittstelle ermöglicht das UAD2+ mit Trace-Option oder das UAD3+, wobei in beiden Fällen der 12 Bit breite Trace-Datenport der MPC5668-Serie voll unterstützt wird. Für die Aufzeichnung stehen beim UAD3+ bis zu 4 GByte Speicher zur Verfügung.

Jedes Sample kann darüber hinaus acht zusätzliche externe Hardware-Signale enthalten. Die Aufzeichnung der Samples erfolgt synchron zur Nexus-Taktfrequenz. Dies ermöglicht eine optimale Nutzung des Trace-Speichers und anwendungsoptimierte Zeitstempel. Start und Stop der Aufzeichnung lassen sich über Pre-Trigger, Mid-Trigger, Post-Trigger oder Address-Trigger komfortabel steuern. Das Trace-Window in der Bedienoberfläche bietet dem Entwickler einen direkten Link von den Trace-Samples zum zugehörigen Source-Code, die Anzeige der Programmlaufzeit auf Basis der Zeitstempel sowie umfangreiche Suchfunktionen.

Selbstverständlich unterstützt die UDE 2.7 auch das in den Core-Architekturen Power e200z650 bzw. Power e200z0 implementierte Variable Length Encoding (VLE). Dieser alternative, aus 16 und 32 Bit breiten Anweisungen bestehende Befehlssatz erlaubt eine größere Code-Dichte.

Als Compiler können sowohl Freescale‘s CodeWarrior für die MPC56xx-Bausteine als auch die Power Architecture-Compiler von Greenhills und WindRiver und die GNU-Implementierung von HighTec EDV-Systeme zusammen mit der UDE 2.7 verwendet werden.