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.