Zusammenspiel von Eclipse, BenchX und Lauterbach TRACE32 ARM-Debugging mit Hardware-Probe und passendem Eclipse-Plug-in

TRACE32 Debug Probe von Lauterbach

Eclipse braucht zusätzliche Plug-ins, um für die Embedded-Entwicklung tauglich zu werden. Das leistet der Debugger BenchX, der auch Betriebssystemobjekte ins Debugging einbezieht. Die Integration der Hardware-Probe TRACE32 von Lauterbach verbessert die Qualität des Einblicks zusätzlich.

Der Lauterbach-Debugger TRACE32 genießt in der ARM-Community hohes Ansehen, wenn es um anspruchsvolle Trace- und Steuerfunktionen für Programme geht. Parallel dazu hat sich die auf Eclipse basierende Open-Source-Bewegung in der gesamten Softwareindustrie zu einem wichtigen Faktor entwickelt, da sie den Entwicklern eine umfassende integrierte Entwicklungsumgebung (Integrated Development Environment – IDE) in die Hand gibt und ihnen die Nutzung einer großen Zahl produktivitätsfördernder Add-in-Tools, die preisgünstig oder sogar kostenlos erhältlich sind, ermöglicht. Die Integration von TRACE32 in eine Eclipse-Umgebung erlaubt es den Entwicklern ARM-basierter Produkte, über eine vertraute Benutzeroberfläche auf dieses Tool zuzugreifen.

Der TRACE32 von Lauterbach stellt eine Reihe modularer Mikroprozessor-Entwicklungswerkzeuge bereit, die Unterstützung für ARM-Architekturen bieten. Das Spektrum der modularen TRACE32-Hard- und Software reicht von kostengünstigen Debugging-Werkzeugen bis zu ausgefeilten In-Circuit-Emulatoren der oberen Leistungsklasse. Der TRACE32 kann zum Debugging des gesamten Systems genutzt werden – von der Boot-Phase und den Exception-Routinen bis zur Anwender-Applikation. Die Integration des Lauterbach TRACE32 in eine umfassende Eclipse-IDE bietet Entwicklern eine optimale Kombination aus der Leistung des TRACE32 und der Vertrautheit und Vollständigkeit der Eclipse-IDE.

Einsatz von Eclipse in Embedded-Projekten

Obwohl Eclipse eigentlich für Java-Applikationen im IT-Bereich geschaffen wurde, könnten seine Vorzüge auch Embedded-Entwicklern zugutekommen, wenn es besser an deren Belange angepasst wäre. In den vergangenen Jahren haben IDE-Anbieter die Technologie nachgerüstet, an der es Eclipse bisher fehlte, und damit die Eignung für Embedded-Entwicklungen verbessert. Eclipse stellt in einer Open-Source-Lösung die elementare IDE-Funktionalität und Plug-in-Kompatibilität bereit, während die kommerziellen Anbieter ihre Bemühungen auf zusätzliche, ihren Kernkompetenzen entsprechende Funktionalität ausrichten.

Die Verwendung von Eclipse als Grundgerüst hat für die Anwender den Vorteil, dass damit die Nutzung eines riesigen Bestands von Eclipse-Plug-ins möglich wird, die dem Entwickler die Arbeit erleichtern. Außerdem wird eine bedienungsfreundliche und vertraute Benutzeroberfläche geschaffen.

Kommerzielle Lösung auf Eclipse-Basis

Die Industrie profitiert erheblich von einer Eclipse-Lösung, die nach den Anforderungen von Embedded-Entwicklern aufgewertet wurde. Bild 1 zeigt als Beispiel BenchX von Express Logic. Diese verbesserte Eclipse-basierte IDE enthält Eclipse und CDT (C Development Tools) sowie jene Elemente, die in Eclipse fehlen, aber für die Embedded-Entwicklung erforderlich sind. Dies sind ein C/C++-Compiler, eine Toolchain für diese Sprachen (GNU C/C++) sowie eine Debug-Probe (Lauterbach TRACE32) als Bindeglied zwischen Host und Target.

In BenchX stellen die GNU-Tools die elementaren Cross-Compilierungs- und Linking-Funktionen zur Verfügung. Sie sind in den »Eclipse Project Builder« integriert. Dies ermöglicht automatische oder manuelle Builds und die Verwendung von Standard-Makefiles mit oder ohne manuelle Intervention. Der GDB Debug Server ist nahtlos in die CDT-Debuggeroberfläche am Front-End sowie die TRACE32-Probe am Back-End integriert, wodurch die Möglichkeit gegeben ist, die Ausführung zielsystem-residenter Applikationsprogramme von der host-residenten Eclipse-Oberfläche aus zu steuern.

An die Stelle der eigenständigen C/C++- und Debug-Perspektiven, die man in der standardmäßigen Eclipse-Distribution findet, tritt eine einzige »Embedded-Perspektive«, in der alle für die Embedded-System-Entwicklung relevanten View-Fenster zusammengefasst sind. Die Nutzung von Eclipse für Embedded-Systeme mit ihrem hohen Aufkommen an iterativen Edit-Compile-Download-Debug-Zyklen gestaltet sich hierdurch weniger komplex.