Entwicklungssystem Damit alles in der Spur bleibt

Entwicklungswerkzeuge sind nötig um die Software-Entwicklung zu unterstützen.
Nicht nur das Auto soll in der Spur bleiben, auch der Entwicklungsprozess.

Anwendungsspezifische Prozessoren erledigen viele Spezialaufgaben und sorgen z.B. dafür, dass ein Auto in der Spur bleibt. Damit auch die Software-Entwicklung in der Spur bleibt, sind Entwicklungswerkzeuge nötig, die den Prozessor in vollem Umfang unterstützen.

Neben Smartphones sind es vor allem Automobilanwendungen, für die die anspruchsvollsten anwendungsspezifischen Prozessoren gebaut werden. Meist handelt es sich dabei um asymmetrische Multi-Core-Prozessoren, d.h., die Rechenlast wird nicht gleichmäßig (symmetrisch) verteilt, sondern jeder Prozessorkern ist für eine Spezialaufgabe vorgesehen. Solche Spezialaufgaben können die Kommunikation, Verschlüsselung, Echtzeit-Steuerung oder die Bildverarbeitung sein. Letzteres passt zur Prozessorfamilie S32V, die von Freescale entwickelt wurde und im Zuge der Übernahme von Freescale inzwischen zu NXP übergegangen ist. Der S32V ist ein sog. ADAS-Prozessor, was für „Advanced Driver Assistance System“ steht.

Lauterbach, Hersteller von Mikroprozessor-Entwicklungssystemen, unterstützt nun mit seinem TRACE32 ICD auch die S32V-Prozessorfamilie von Freescale. Die S32V-Prozessorfamilie basiert auf ARM-Cortex-A-Cores sowie APEX-Bilderkennungs-Prozessorkernen und wurde für rechenintensive Anwendungen in der Bildverarbeitung entwickelt. Neben einem Quadcore ARM Cortex-A53 enthalten die S32V-Prozessoren zwei sog. APEX-2-Koprozessoren, die für die Bilderkennung und -interpretation zuständig sind. Damit können Assistenzfunktionen wie Spurhalteassistenz oder Einparkhilfe realisiert werden.

Trace in Echtzeit

Die TRACE32-Tools unterstützen die ARM Cortex-Cores schon seit Jahren. Mit dem neu dazu gekommenen Support auch für die APEX-Architektur sind diese Werkzeuge jetzt auch in der Lage, die S32V-Prozessoren in vollem Umfang mit Debugging und Tracing zu unterstützen. Über eine Standard-JTAG-Schnittstelle kann der gesamte Debug-Prozess abgewickelt werden, zu dem u.a. Laufzeitsteuerung, Kernel Awareness, Multicore-Debugging und On-Chip Trace Features gehören. Diese Tools können an den Hostcomputer über USB 3.0 oder Gigabit-Ethernet angeschlossen werden. Das mitgelieferte grafische Front End TRACE32 PowerView bietet unter anderem ein effizientes und benutzerfreundliches Hochsprachen-Debugging auf C- und C++-Ebene.

Die Trace-Erweiterung PowerTrace des Debuggers wird an den Trace-Port auf dem Zielsystem angeschlossen und speichert den Programmfluss in Echtzeit ab. Diese Aufnahme bietet dem Entwickler die Möglichkeit, komplexe Fehler, die nur unter Laufzeitbedingungen auftreten, schnell und komfortabel zu erkennen. Darüber hinaus kann der mit Timestamps versehene Programmablauf analysiert werden, um Funktionen wie Performance-Analyse, Code Coverage und Cache-Analyse zu liefern.