Definition Was ist FreeRTOS?

Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Nico Litzel

FreeRTOS ist ein kostenlos erhältliches Open-Source-Echtzeitbetriebssystem für eingebettete Systeme. Es eignet sich für viele unterschiedliche Mikrocontroller-Architekturen und steht unter MIT-Lizenz. Mittlerweile hat Amazon die Hauptverantwortung für das Projekt und die Weiterentwicklung der Software übernommen. Neben dem Kernel des Betriebssystems sind viele Bibliotheken für unterschiedliche Funktionen verfügbar.

Firma zum Thema

(Bild: © aga7ta - stock.adobe.com)

FreeRTOS ist der Name eines Open-Source-Echtzeitbetriebssystems für eingebettete Systeme. Das Akronym RTOS im Namen steht für den englischen Begriff für Echtzeitbetriebssystem „Real Time Operating System“. FreeRTOS erfüllt die typischen Anforderungen an Echtzeitbetriebssysteme und ist für viele unterschiedliche Mikrocontroller-Architekturen geeignet. Zu den unterstützten Systemen zählen über 40 Mikrocontroller-Architekturen wie RISC-V, ARM9, ARM7, ARM Cortex-M, ARM Cortex-A, MicroBlaze, Cortus APS1, Cortus APS3, Cortus APS5, Atmel AVR, PIC18, PIC24, Altera Nios II, Fujitsu FM3 und viele mehr.

Ursprünglich wurde das Betriebssystem von Richard Barry im Jahr 2003 entwickelt. 2017 übernahm Amazon die Verantwortung für das Projekt und für die Weiterentwicklung der Software von dem Unternehmen Real Time Engineers Ltd. An der Weiterentwicklung von FreeRTOS ist Richard Barry nach wie vor beteiligt, inzwischen als Teil des AWS-Teams.

Die erste unter der Verantwortung von Amazon veröffentlichte Version von FreeRTOS war die Version 10.0.0 im Jahr 2017. Für langlebige Anwendungen stellt AWS eine LTS-Version des Betriebssystems mit Langzeitsupport zur Verfügung. In den letzten Jahren hat sich FreeRTOS zu einem der führenden Echtzeitbetriebssysteme für eingebettete Systeme entwickelt. Die Software steht unter MIT-Lizenz. Sie kann kostenlos heruntergeladen und verwendet werden. Neben dem Kernel des Betriebssystems sind viele Bibliotheken für unterschiedliche Zwecke verfügbar. Über die bereitgestellten Bibliotheken lassen sich eingebettete Geräte mit FreeRTOS sicher und ohne großen Aufwand beispielsweise in AWS-Cloud-Dienste wie AWS IoT Core integrieren.

Einen hohen Stellenwert legen die Entwickler von FreeRTOS auf die Benutzerfreundlichkeit und die Zuverlässigkeit des Betriebssystems. Größtenteils ist das Betriebssystem in C geschrieben. Die Software, Bibliotheken, Anleitungen, Dokumentationen und viele weitere Informationen rund um das Echtzeitbetriebssystem sind auf der Webseite des Projekts freertos.org erhältlich. Parallel wurden von anderen Entwicklern und Unternehmen ergänzende Produkte wie SafeRTOS für sicherheitskritische Implementierungen oder OpenRTOS, eine RTOS-Version mit kommerzieller Lizenz und professionellem Support, entwickelt.

Grundsätzliche Eigenschaften eines Echtzeitbetriebssystems

Bei FreeRTOS handelt es sich um ein Echtzeitbetriebssystem. Ein Echtzeitbetriebssystem (Real Time Operating System – RTOS) ist ein Betriebssystem, das speziell für eingebettete Echtzeitanwendungen optimiert ist und besondere Anforderungen erfüllt. Zentrale Anforderung ist, dass das Betriebssystem Anfragen und Ereignisse in einer vorher bestimmbaren Zeit verarbeitet und die zugehörigen Ergebnisse in der definierten Frist liefert. Ereignisse und Anfragen können beispielsweise durch externe Signale ausgelöst werden, die über eine Hardwareschnittstelle empfangen werden. Typischerweise erfordern eingebettete Systeme mit Mess- oder Steueraufgaben ein Echtzeitbetriebssystem. Weitere typische Merkmale von Echtzeitbetriebssystemen sind:

  • Unterstützung des Interruptverhaltens der Hardwareplattform
  • Unterstützung von Multitasking in Form von präemptivem Multitasking
  • vorhersagbares Zeitverhalten für Scheduling oder Speichermanagement

Architektur und Komponenten von FreeRTOS

FreeRTOS besteht aus dem Echtzeitbetriebssystem-Kernel und den Bibliotheken. Der Kernel selbst umfasst nur wenige C-Dateien. Über die Bibliotheken lassen sich Funktionen wie Sicherheits- und Konnektivitätsfeatures realisieren. So sind beispielsweise kabelbasierte Verbindungen per TCP/IP und HTTP sowie drahtlose Verbindungen über WLAN oder Bluetooth Low Energy realisierbar. Sicherheitsbibliotheken sind für Funktionen wie die Verschlüsselung einsetzbar. Üblicherweise wird das FreeRTOS-Betriebssystem als kompiliertes Image mit allen implementierten Funktionen auf das eingebettete Gerät geflasht. In diesem Image sind der Kernel und die mit den Bibliotheken realisierten Funktionen enthalten.

Anwendungsmöglichkeiten von FreeRTOS

Das Echtzeitbetriebssystem FreeRTOS ist prädestiniert für den Einsatz auf eingebetteten Systemen wie sie im industriellen Umfeld, in professionellen Mess- und Steueranwendungen oder in smarten Geräten verwendet werden. Aufgrund des vorhersagbaren Antwortverhaltens eignet sich FreeRTOS für intelligente Messgeräte und Sensorik, Sicherheitssysteme oder Regelungstechnik und Tracking-Anwendungen. Die vielen unterstützten Integrationsmöglichkeiten für Dienste der Amazon Web Services wie AWS IoT Core erweitern die Anwendungsmöglichkeiten.

Vorteile von FreeRTOS

Das Open-Source-Echtzeitbetriebssystem FreeRTOS bietet zahlreiche Vorteile wie:

  • unter MIT-Lizenz kostenlos erhältlich
  • Unterstützung zahlreicher Mikrocontroller-Architekturen (über 40 verschiedene Architekturen)
  • schlanker, zuverlässiger und energieeffizient arbeitender Kernel mit guter Performance
  • über Bibliotheken realisiertes modulares Konzept
  • LTS-Version mit Langzeitsupport für langlebige Anwendungen verfügbar (definierte Versorgung mit Sicherheitsupdates und kritischen Bug-Fixes)
  • zahlreiche Bibliotheken für Konnektivitäts- und Sicherheitsfunktionen verfügbar
  • umfangreiche Dokumentation im Web verfügbar
  • große Support-Community
  • zusammen mit vielen Amazon Web Services nutzbar (zahlreiche AWS-Referenzintegrationen)
  • für professionelle und private Projekte geeignet
  • verkürzte Entwicklungszeiten für eingebettete Anwendungen

(ID:47546813)

Über den Autor