Raspberry Pi

Embedded Linux für Ein- und Umsteiger

Print ISBN

eBook ISBN



Bereits durch die Ankündigung, mit dem Raspberry Pi einen Linux-Rechner für weniger als 35 € an den Markt zu bringen, wurde ein regelrechter Hype ausgelöst.

Im Sommer 2012 konnte das scheckkartengrosse ARM-basierende Mikrocontrollerboard bestellt und auch geliefert werden und lädt seither zum Experimentieren ein. Neben dem Raspberry Pi gibt es weitere Boards, die auch im Wesentlichen auf ARM-Technologie basieren, nicht ganz so kostengünstig, dafür allerdings meist etwas leistungsfähiger sind.

Der Untertitel „Embedded Linux für Ein- und Umsteiger“ soll gleichzeitig verdeutlichen, an wen bei dieser Thematik hier primär gedacht ist. Hier geht es nicht um Linux als alternatives Betriebssystem für den PC, sondern den Einsatz von Linux in einem Embedded System und um das Embedded System selbst. Der Schwerpunkt der Betrachtungen liegt dabei ganz klar auf dem Raspberry Pi.

Die Komplexität heutiger Anforderungen an Elektronikkomponenten ist an vielen Stellen mit den klassischen Konzepten um Mikrocontroller, wie den mittlerweile etwas betagten aber in seinen unterschiedlichen Derivaten immer noch verbreiteten 8051, die breite Palette der Atmel- und PIC-Controller bzw. die Controller von deren Mitbewerbern, wie Texas Instruments, Renesas und vielen anderen, kaum umsetzbar. Hinzu kommt der Preiszerfall in diesem Sektor, der für den Einsatz leistungsfähiger 32-Bit-Mikrocontroller, wie ARM- oder Cortex-Derivate, spricht.

Während die leistungsschwächeren (8-Bit-) Mikrocontroller meist ohne Betriebssystem betrieben wurden, kommt man bei den 32-Bit-Mikrocontrollern kaum noch um den Einsatz eines Betriebssystems herum. Das Betriebssystem bietet Schnittstellentreiber, Dateisystem, Multi-Threading u.a. und übernimmt damit wiederkehrenden Aufgaben, für die stabile Softwarekomponenten zur Verfügung stehen.

Leistungsfähige und schlanke Linux-Derivate können heute auch auf einfacheren Prozessoren eingesetzt werden und sind frei verfügbar. Dem gegenüber stehen auch kommerzielle Linux-Systeme, bei denen der Anwender dann auch die entsprechende Betreuung durch den Lieferanten erfährt. Welchen Weg man irgendwann mal einschlägt, ob kommerzielles oder freies Linux, wird durch eine Vielzahl von Bedingungen beeinflusst, die hier erst mal nicht im Vordergrund stehen.

Wir wollen uns hier vorrangig mit Embedded Linux auf dem Raspberry Pi befassen. Die verwendete Linux-Distribution stellt einen grafischen Desktop zur Verfügung, der hier aber nicht von primärem Interesse ist. Unser primäres Userinterface hier ist klassisch die Kommandozeile, wie sie vielen Mikrocontroller-Programmierern aus deren Projekten als Terminal-Schnittstelle bekannt ist. Ein grafisches Userinterface ist für viele geschlossene Embedded Systems (deeply embedded) ohnehin nicht erforderlich, oder kann durch ein Web-Interface ersetzt werden. Der heimische Router ist dafür ein sehr gutes Beispiel.

Mit dem Einsatz von Linux in einem Embedded System kommt eine Reihe von neuen Ansätzen auf den Umsteiger aus der konventionellen Mikrocontrollerwelt zu, mit denen wir uns hier erst einmal auseinandersetzen werden.

Alle gelisteten Quelltexte und einige Erläuterungen sind unter SourceForge abgelegt.