Das Projekt

Colibree

Das Colibree-Projekt ist Ende 1999 mit dem Ziel entstanden, einerseits eine universelle Hardware-Plattform und andererseits die notwendige Software für ein eingebettetes Linux zu entwickeln. Das primäre Ziel ist eine stationäre Bedieneinheit (Info-Terminal) für ein Home-Automation-Demonstrationsprojekt. Über die Bedieneinheit kann man sich im Haus alle möglichen Fehlfunktionen sowie den aktuellen Energieverbrauch anzeigen lassen kann (Strom, Wasser, Gas). Aber generell sind natürlich noch viele weitere Anwendungen denkbar, wie z.B. ein MP3-Player, ein E-Mail-Terminal, ein kompakter Webserver usw.

Eingebettete Systeme

Eingebettete Systeme (Embedded Systems) sind aus dem heutigen Leben gar nicht mehr wegzudenken. In fast allen Geräten des modernen Lebens sind sie zu finden, ob in der Waschmaschine, im Auto oder im CD-Spieler - Sie machen den Umgang mit der Technik nicht nur einfacher und sicherer; teilweise wären die Geräte ohne eingebettete Systeme auch gar nicht realisierbar.

Hinter einem eingebetteten System verbirgt sich zumeist ein Microcontroller mit etwas Speicher und Peripherie (Ein-/Ausgabekanäle, serielle Schnittstellen, Timer etc.), der von seinen Fähigkeiten und Funktionen her speziell auf die entsprechende Anwendung zugeschnitten wurde. Im Gegensatz zu Universalsystemen wie PCs sind die Rahmenbedingungen vor allem Größe, Stromverbrauch und größtmögliche Zuverlässigkeit.

Viele eingebettete Systeme benötigen für ihre Software kein spezielles Betriebssystem, sondern begnügen sich im Prinzip mit einer einfachen Hauptschleife (Control Loop). Die zunehmenden Anforderungen an Funktionalität erfordern aber komplexere Systeme, die mit einer einfachen Hauptschleife kaum noch gehandhabt werden können. Hier werden ganze Betriebssysteme benötigt.

Eingebettetes Linux

Linux bietet als Betriebssystem für eingebettete Systeme unschlagbare Vorteile: Es ist vollkommen kostenlos und im Quelltext verfügbar, d.h. Anpassungen können jederzeit auch auf sehr systemnahen Ebenen vorgenommen werden. Außerdem gibt es für fast alle Peripheriebausteine, vom Netzwerk-IC über den Sound-Chip bis hin zum USB-Port, den passenden Software-Treiber - kostenlos und im Quelltext. Zudem sind eine ganze Reihe an Anwendungen frei erhältlich, wie z.B. TCP/IP-Stacks oder Webserver, wodurch ein eingebettetes System deutlich an Vielseitigkeit gewinnt. Die Entwicklung der Software beschränkt sich dadurch im Wesentlichen auf Treibermodule und Anpassungen.

Die Rahmenbedingungen

Unsere Anforderungen an die Hardware-Plattform für das Colibree-Projekt sind, daß im Gegensatz zu herkömmlichen PCs vor allem auf jegliche Art von Motoren verzichtet werden soll (Lüfter, Festplatte, Floppy-Disk etc). Dadurch läßt sich einerseits der Stromverbrauch drastisch reduzieren, andererseits aber auch der Geräuschpegel. Die Zuverlässigkeit wird natürlich deutlich erhöht, da keinerlei Verschleißerscheinungen auftreten können.

Um die Hardware möglichst einfach und dennoch leistungsfähig halten zu können, haben wir uns für den ColdFire-Prozessor von Motorola entschieden. Dabei handelt es sich um eine RISC-basierte Weiterentwicklung der bekannten 68000-Familie.

Der ColdFire-Prozessor bringt im Gegensatz zu den meisten Vertretern der x86-Familie eine Vielzahl von lebenswichtigen Funktionen gleich mit: DRAM-Controller, etwas SRAM, Cache, I/O, Timer, serielle Schnittstelle, I2C-Bus, Decoder für 8 Chip-Selects, usw. sind mit auf dem Chip integriert. So kann man mit relativ wenig Bauteilen einen kompletten Linux-fähigen Rechner aufbauen, der sich von der Performance her wirklich sehen lassen kann. Zudem wartet der Prozessor mit einer vergleichsweise niedrigen Stromaufnahme auf: Bei 54HMz schafft er 36 BogoMips bei einer Stromaufnahme von nur ca. 100mA ! (3,3V).

Für verschiedene Entwicklungsboards von Motorola wurde ein Linux-Derivat portiert, das uCLinux (gesprochen "you-see-Linux"). Dieser Port wird kontinuierlich gepflegt und hat eine eigene Homepage.