Wie sieht also eine entwicklungsfähige Alternative zum Mischmasch der CLITools in der Embedded-Toolbox von Linux aus? Viele Unternehmen sind bereit, beträchtliche Zeit und Mühe in selbstentwickelte Projekte zu investieren, um eine Linux-Umgebung aus kostenlos zugänglichen Open-Source-Komponenten aufzubauen. Im Vergleich dazu entfalten nur sehr wenige Firmen eigene Aktivitäten zum Aufbau von Entwicklungs-Tools. Diese Zurückhaltung erklärt sich primär aus folgender Beobachtung: Frei zugängliche Open-Source-Tools schneiden beim Vergleich zu kommerziellen Toolkits, die mit kommerziellen Echtzeit-Betriebssystemen (RTOS) zusammen vertrieben werden, nicht allzu gut ab. Selbst zusammengestellte Entwicklungswerkzeuge werden grundlegenden Anforderungen an Integration und Anwenderfreundlichkeit einfach nicht gerecht. MontaVista hat sich deshalb zum Ziel gesetzt populäre und leistungsfähige Open-Source-Entwicklungs-Tools zu optimieren und sie in seine Entwicklungsumgebung „DevRocket 5.0“ zu integrieren, um Entwicklern eine bessere Ausgangsbasis zu geben.
Entwicklungskomfort ist kein Luxus
Eine moderne Entwicklungsumgebung muss – um wirklich erfolgreich zu sein – sehr viel mehr können, als nur den Zyklus Editieren – Compilieren – Debuggen zu rationalisieren. Das Entwicklungs-Framework Eclipse erledigt diese Aufgaben zwar bereits in der Standardausfertigung, aber MontaVista fügt zu Eclipse weitere Open-Source- und MontaVista-Tools hinzu, mit denen sich der Code analysieren und optimieren sowie das Debugging erweitern lässt.
MPatrol ist beispielsweise ein sehr beliebter, flexibler Speicher-Debugger, den es als Open-Source-Tool gibt. In Wirklichkeit ist MPatrol an sich jedoch kein Werkzeug, sondern eine Laufzeitbibliothek, die zur Diagnose von Laufzeitfehlern verwendet wird, die durch inkorrekte Nutzung von dynamisch zugewiesenem Speicher verursacht werden. MPatrol kann mit einem Programm oder einem anderen Tool verknüpft werden, um als Malloc()-Debugger für dynamische Speicherzuweisungen zu fungieren, und verfügt über APIs zur Verfolgung und zum Profiling von Aufrufen für malloc() und free(). Trotz seines hohen Nutzwerts bietet MPatrol Anwendern keine integrierte Debugging-Umgebung. Damit MPatrol seine Fähigkeiten und seinen Nutzen voll entfalten kann, ist eine Menge Tüftelei und Integrationsarbeit erforderlich. Nach all diesen Mühen müssen Entwickler dann eine Serie von manchmal massiven Log-Dateien parsen, um die Speichernutzung zu ermitteln, zu analysieren und Daten zu verfolgen.
Durch die Integration von MPatrol als unterstützende Technologie in sein Application Developer Kit – ein Bestandteil von DevRocket IDE – nimmt MontaVista eine Open-Source-Ressource und nutzt sie als Teil eines voll funktionsfähigen Entwicklungs-Tools (siehe Bild 1). Dank des Speicher-Debuggings im MontaVista ADK wird DevRocket um folgende Funktionen erweitert: