Verzweifelte Fehlersuche Tool-Unterstützung wichtiger als der Chip

Wenn man sich auf den Web-Seiten der Mikrocontroller-Hersteller umschaut, werden die eigenen Produkte mit möglichst wenigen mW/MHz, viel Peripherie und minimalem Siliziumbedarf angepriesen. Eine Umfrage zeigt jedoch, dass der Schuh die Entwickler an ganz anderer Stelle drückt: beim Debugging.

Je leistungsfähiger der Prozessor, desto komplexere Software kann man entwickeln. Diese, an sich triviale Erkenntnis hat ganz offensichtlich dazu geführt, dass in den Entwicklungsabteilungen ein großer Teil der Gesamtzeit eines Projektes mit der Fehlersuche verbracht wird. Bei der Frage nach den wichtigsten Entscheidungskriterien bezüglich der Auswahl eines Prozessors gewannen weder die Leistungsaufnahme noch die On-Chip- Peripherie oder die reinen Chip- Kosten – nein, die Debug-Unterstützung siegte vor den heute erhältlichen SW-Entwicklungs-Tools. Ebenso schlug bei der Frage „Was ist Ihnen bei der Mikroprozessor-Auswahl am wichtigsten?“ die Antwort „Software- Tools“ die Alternativen „Hersteller“ und „der Chip selbst“. Last but not least beantworteten die meisten Entwickler die Frage, welche Sache sie bei ihren Embedded-Design-Aktivitäten verbessern könnten, mit „Debugging- Tools“. Wenn schon heute bei den vorherrschenden Single-Core-Architekturen offensichtlicher Verbesserungsbedarf besteht, wie soll das erst bei Multicore- Architekturen aussehen, wo sich noch zeitliche Abhängigkeiten des auf mehrere Cores verteilten Codes und Datenabhängigkeiten ergeben? Bis heute konnte die Software-Industrie, die mittlerweile sogar einräumt, Jahre hinter der Chip-Industrie hinterherzuhinken, keine zufriedenstellende Antwort geben. Nebenbei bemerkt: Selbst an so genannten „Elite-Universitäten“ findet sich im Studiengang Informatik „Parallelprogrammierung“ nur als Wahlfach wieder. Nichtsdestotrotz gibt es drei neue interessante Debugging-Produkte, die es verdienen, erwähnt zu werden.

Universal Debug Engine für Infineon-Cores

Die Universal-Debug-Engine (UDE) in der Version 2.6 von pls Programmierbare Logik & Systeme (www.plsmc. com) unterstützt ab sofort alle Derivate der 16-bit-Microcontroller- Familie XC2000/XE166 und die Audo- Future-Serie von Infineon. Neben den speziell für den Automobilbereich spezifizierten Modellreihen XC2200 (Automotive-Body), XC2300 (Automotive-Safety) und XC2700 (Automotive-Powertrain) unterstützt die neue Test- und Debug-Umgebung auch die für industrielle Applikationen optimierte XE166-Baureihe, wobei pls-Anwendern im Bedarfsfall nicht nur das Software-Tool, sondern auch spezielle Emulation-Devices sowie Adapter für Serienchips in 64- und 100-Pin-Gehäusen zur Verfügung stehen. Ein weiterer Bestandteil der gesamten XC2000/XE166-Toolbox ist der Universal-Emulation-Configurator 2 (UEC2), der als Add-on zur UDE 2.6 zusammen mit den Emulation-Devices XC2080ED (144 Pin) oder XC2090ED (176 Pin) eine Aufzeichnung des Programm- und Datenflusses sowie eine gezielte Beobachtung aller relevanten Systemvorgänge auf dem Chip ermöglicht. Eine Reihe zusätzlicher Funktionen bietet die neueste Version der Universal- Debug-Engine auch im Hinblick auf aktuelle TriCore-Derivate aus der Audo-Future-Serie von Infineon. So sind die UDE 2.6 und die Gerätefamilie Universal-Access-Device (UAD) 2 von pls jetzt auch zusammen mit gängigen Kalibrierungswerkzeugen von ETAS auf der gleichen Zielumgebung verwendbar.

Starterkit für ARM-Cortex-M0- basierte Mikrocontroller

Von IAR-Systems (www.iar.com) gibt es das IAR-KickStart-Kit für den NXP LPC1114. Die NXP-LPC11xx-Cortex- M0-Familie ist pinkompatibel zur NXPLPC13xx- Cortex-M3-Familie. Die Cortex-M0- und Cortex-M3-Prozessoren werden durch die Toolchain IAREmbedded- Workbench-for-ARM-Cortex- M unterstützt. Das Kit enthält die erforderliche Hard- und Software für Entwicklung, Integration und Test von Cortex-M0-Anwendungen. Die LPC111x-Baureihe von NXP umfasst 32-bit-MCUs, die für 8/16-bit- Anwendungen entwickelt wurden. Das Kit enthält ein Entwicklungs-Board mit dem LPC1114-Mikrocontroller, eine 8K-KickStart-Edition der IAREmbedded- Workbench-for-ARM und eine IAR-visualSTATE-Evaluierungsedition. Das Board bietet zudem Debug- Support durch IAR-J-Link-OB, einen Standard-JTAG-Anschluss oder einen kleinen SWD-Stecker.

Debugger für ARM-Cortex-A5

Ab sofort unerstützt Lauterbach (www. lauterbach.com) mit seinen Trace32- Debuggern die Cortex-Derivate A5 von ARM. Der Cortex-A5 wird als Single-Core-Prozessor oder als skalierbarer Multi-Core-Prozessor angeboten. Letzterer kann aus bis zu vier Cortex-A5-Single-Cores bestehen. Die Embedded-Trace-Macrocell (ETM) des Cortex-A5 erlaubt es, den Programmlauf jedes einzelnen Cores aufzuzeichnen, ohne dabei die Ausführung zu beeinflussen. Zudem bietet der Debugger die statistische Auswertung dieser Daten. Ebenso wird die CoreSight-Technologie von Trace32 unterstützt. Sie erlaubt es, die Debugund Trace-Möglichkeiten auf das gesamte System-On-Chip auszuweiten, das aus mehreren ARM-Prozessoren und DSPs bestehen kann.