Starterkit erleichtert den Einstieg

Embedded-Linux-Systeme schnell und einfach konfigurieren

Seite: 3/3

Anbieter zum Thema

Updates im Feld auf Basis von Paketen möglich

Mit Hilfe bereits bekannter Entwicklungsumgebungen (IDE) und frei verfügbaren User-Interface-Buildern sowie Debugging-Tools lässt sich in kurzer Zeit ein GUI für Embedded-Geräte zusammenstellen. Das Kompilieren und Linken für das Zielsystem wird zu einer einfachen Sache. Das gesamte µCross-Produkt ist paketorientiert. Alle Komponenten werden in Paketen verwaltet und ebenso im Zielsystem installiert. Besonders praktisch: Spätere Updates sind auch so im Feld auf Basis von Paketen anstatt vollständigen Dateisystemabbildern möglich.

Die Sammlung, der zum Erstellen einer Software benötigten Programme (Compiler, Linker, aber auch der Debugger) ist im Allgemeinen unter dem Begriff Toolchain zusammengefasst. Da das Target häufig mit einer anderen Prozessorarchitektur (ARM9 bzw. Cortex A8) und mit anderer Peripherie als das Entwicklungssystem arbeitet, lässt sich weder zur Entwicklung noch zum Debuggen die Toolchain des Hosts (PC) verwenden. Darüber hinaus sind das Erstellen einer Toolchain und insbesondere das Auflösen der Abhängigkeiten alles andere als trivial.

Das µCross Cross-SDK bietet die komplette Toolchain für das Target, geht aber über die Funktionalität einer einfachen Toolchain weit hinaus. Es erweitert diese um Funktionen zur vollständigen Applikationsentwicklung bis hin zu grafischen Oberflächen. Mit dem µCross-SDK ist es möglich, bekannte Entwicklungswerkzeuge wie Eclipse, Qt-Creator, Anjuta/Glade zu verwenden. Hierzu stellt es alle notwendigen Bausteine als Entwicklungs- und Laufzeitpakete zur Verfügung (Bild 2).

Mit wenigen Klicks zum fertigen Image: µTIB

Die Erstellung des Laufzeit-Systems für eine Embedded-Anwendung kann eine sehr zeitintensive Aufgabe sein. Viele Programme hängen von anderen Programmen ab oder haben Abhängigkeiten zu bestimmten Bibliotheken. Diese Abhängigkeiten manuell aufzulösen kann ebenfalls sehr komplex werden. Alles dies zusammenzustellen, so dass es auch sauber zusammenarbeitet, ist die nächste größere Aufgabe. Der Aufwand für die Pflege aller dieser Teile wird dabei gerne unterschätzt.

µTIB verringert diesen Aufwand drastisch. Der Anwender erstellt lediglich eine einfache abstrakte Beschreibung der Anforderungen an das Laufzeitsystem und µTIB kümmert sich um alle Abhängigkeiten. In den Erstellungsprozess kann das Tool auch auf einfache Art und Weise kundenspezifische Dateien einfließen lassen, beispielsweise eigene Applikationen oder Konfigurationen.

Schlussendlich erzeugt es innerhalb weniger Minuten ein fertiges Laufzeitsystem als .tar.gz-Archiv oder wahlweise als fertiges Flash-Image – fertig zur Installation auf dem Zielsystem. Es werden sowohl das jffs2-Format als auch das ubi-Format für Chip-Flash sowie weitere Formate wie ext3/4 oder .tar.gz unterstützt. Eine grafische Benutzeroberfläche erleichtert den Einstieg.

Inkonsistenz durch ständige Weiterentwicklung

Dadurch, dass weltweit Entwickler an der ständigen Verbesserung von Linux arbeiten, ändert sich das System ständig. Ein Beispiel aus der Grafikprogrammierung unter Qt: Eine grafische Oberfläche für ein Embedded-Gerät ist zu entwickeln.

Im Moment stimmen die Libraries des Embedded-Dateisystems mit denen der eigenen PC-Toolchain überein. Wenn es später Updates der Software gibt, müssen diese zwingend mit dem gleichen Stand der Tools kompiliert werden, mit denen seinerzeit das gesamte Dateisystem erzeugt worden ist.

Auch hier bietet µCross die Lösung: Eine einmal eingesetzte Version von µCross verändert sich nicht mehr, was nichts anderes bedeutet, als dass die Quelle ebenfalls stabil bleibt. Kommt die dazu passende Toolchain zum Einsatz, ist ein Update der eigenen Software auch noch Jahre nach der eigentlichen Entwicklung sichergestellt.

* * Christoph Tenbergen ist Business Developement Manager Embedded Systems bei Glyn, Idstein.

(ID:30605050)