Für Bastler und professionelle Anwender

45 Betriebssysteme für den Raspberry Pi

| Autor: Sebastian Gerstl

Echtzeit auf dem Raspberry Pi mit dem Linux PREEMPT_RT-Patch

Die Echtzeitbetriebssysteme ChibiOS/RT und FreeRTOS unterstützen auch bestimmte ARM-Architekturen. Das eignet sie prinzipiell zum Betrieb auf einigen Raspberry Pi Modellen wie dem Raspberry Pi 2 und 2B. (Im Bild: YouTube-Screenhot einer ChibiOS/RT-Demo auf einem Raspberry Pi).
Die Echtzeitbetriebssysteme ChibiOS/RT und FreeRTOS unterstützen auch bestimmte ARM-Architekturen. Das eignet sie prinzipiell zum Betrieb auf einigen Raspberry Pi Modellen wie dem Raspberry Pi 2 und 2B. (Im Bild: YouTube-Screenhot einer ChibiOS/RT-Demo auf einem Raspberry Pi). (Bild: Vergil Cola / YouTube / lightsurge2.blogspot.de)

Der Raspberry Pi ist in zunehmendem Maß auch als Plattform für Embedded Systeme interessant. Anders als bei Media- oder Web-Servern kommt es bei zahlreichen Embedded-Anwendungen allerdings explizit auf vorhersehbare Timings mit niedrigen Latenzzeiten an – Anforderungen, die selbst ein leichtgewichtiges Raspbian-Derivat oder eine der geläufigen Linux-Varianten nur unzureichend erfüllen kann.

Für den Raspberry Pi sind zahlreiche Betriebssysteme vorhanden, die jedoch Echtzeitanforderungen in der Regel nur unzureichend erfüllen. Fortgeschrittene Linux-Anwender können dagegen mit Hilfe des „PREEMPT_RT Patches des Linux-Mainline-Kernels auf dem Raspberry Pi“ praktikable Echtzeiteigenschaften erreichen. Dies ist spätestens seit Version 4.4.8 des Linux-Mainline-Kernels auch auf dem Einplatinenrechner praktikabel. Dieser Lösungsansatz bietet sich speziell für das Raspberry Pi 3 mit dem „BCM2709“-SoC-Chipsatz von Broadcom an.

Anders als bei den meisten hier beschriebenen Betriebssystemen handelt es sich hier um keine „Out-of-the-Box“-Lösung: Anwender müssen in der Lage sein, händisch einen Linux-Mainline-Kernel auf einem Raspberry Pi aufzusetzen und zu konfigurieren. Auf der Website des OSADL finden Sie eine detaillierte Anleitung und die Möglichkeit, sich für einige der aufwändigeren Schritte Skripte generieren zu lassen. Diese Beschreibung wird regelmäßig parallel zu aktuelleren Kernel-Versionen aktualisiert (aktueller Stand: Raspbian-Distribution GNU/Linux 9 (‚stretch‘) mit gepatchter Kernel-Version 4.18.16-rt9; 30. Oktober 2018).

Eine detaillierte Beschreibung, wie Sie auf einem Raspberry Pi mit dem Linux PREEMT_RT-Patch Echtzeiteigenschaften erreichen können, finden Sie im Fachbeitrag Echtzeit mit dem Raspberry Pi von Claus Kühnel .

Ergänzendes zum Thema
 
Kostenloses Poster: Alle Raspberry Pi Modelle in der Übersicht

Umsetzungen von ChibiOS/RT, FreeRTOS und RTEMS

Ansonsten gab es bereits seit dem Erscheinen des Single Board Computers einige Bemühungen, Mikrokernel auf dem Raspberry Pi zu betreiben und mit zufriedenstellender Funktionalität einzusetzen – mit mehr oder weniger Erfolg. Zwei vielversprechende Portierungen sind die Umsetzungen der auf Open-Source-Kernel aufbauenden Echtzeitbetriebssysteme ChibiOS/RT und FreeRTOS.

ChibiOS/RT“ ist ein äußerst schnelles RTOS, das über eine GPL3-Lizenz vertrieben wird und für Embedded-Anwendungen auf Basis von 8-, 16- und 32-Bit-Mikrocontrollern konzipiert ist. Es bietet eine gute Leistung beim Context Switching und unterstützt Externe Komponenten (uIP, lwIP, FatFs) sowie C++ Applikationen.

Eine offizielle Unterstützung für das Raspberry Pi besteht nicht, eine Portierung muss eigenhändig kompiliert werden. Es bestehen aber erfolgreiche Ports des RTOS, die zumindest auf einem Raspberry Pi Model 2 erfolgreich und stabil laufen. Eine hier im Detail beschriebene Portierung auf das Raspberry Pi bietet Treiber für GPIO- und serielle Ports, GPT (General-Purpose Timer), I2C, SPI und PWM. Ein zweites, älteres Beispiel mit einigen Code-Auszügen ist auch auf diesem Blog zu finden, zusammen mit einem Video einer hierauf aufgesetzten Demo.

Das über GPL-Lizenz kursierende „FreeRTOS“ ist bereits länger erhältlich und eines der populärsten freien Echtzeitbetriebssysteme. Es bietet einen extrem schlanken Mikrokernel, der gerade einmal aus drei C -Files besteht und damit nur ein Minimum an Arbeitsspeicher benötigt.

FreeRTOS wurde bereits auf 35 Mikrocontroller portiert und existiert auch in einer Variante, die ARMv7-Architekturen unterstützt. Damit eignet sich das Echtzeitbetriebssystem prinzipiell auch für den Einsatz auf einem Raspberry Pi 2 Model B.

Eine funktionale Demo besteht und kann seit Mitte 2016 von einem Github-Repository frei bezogen werden. Für den Einsatz in individuellen Anwendungen muss das System allerdings eigenhändig kompiliert werden. Die Portierung ist ein Community-Projekt, weshalb es für den aktiven Einsatz derzeit keinen Support seitens des Entwicklers gibt. Darüber hinaus wurde das Projekt seit dem 11. Dezember 2017 nicht mehr aktualisiert.

Auch das Echtzeitbetriebssystem „RTEMS“ wurde vor einigen Jahren für die Benutzung auf dem Raspberry Pi portiert. Wie in den Fällen von ChiboOS/RT und FreeRTOS handelt es sich dabei um die Portierung eines OpenSource-Kerlnel durch einen einzelnen, unabhängigen Entwickler.

Die Umsetzung scheint nicht ganz so gelungen zu sein, wie im Fall von ChibiOS oder FreeRTOS. Dafür wird das Projekt im Gegensatz zu den beiden letztgenannten vom Entwickler weiter verfolgt und die Daten werden in einem Github-Repository zur Verfügung gestellt.

Sebastian Gerstl
Über den Autor

Sebastian Gerstl

Redakteur

Was meinen Sie zu diesem Thema?

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45794085 / Clients)