FreeRTOS gehört zu den weltweit am häufigsten eingesetzten Echtzeitbetriebssystemen (RTOS) für Mikrocontroller. Doch wann ist der Einsatz in einem Embedded-Projekt wirklich sinnvoll? Dieser Beitrag gibt einen strukturierten Überblick über Architektur, Konzepte, Lizenzmodell, Erweiterungen und typische Einsatzfelder als fundierte Entscheidungshilfe für Entwicklungsprojekte.
Was ist FreeRTOS?
FreeRTOS ist ein quelloffenes Echtzeitbetriebssystem, das 2003 von Richard Barry entwickelt wurde und seit 2017 von Amazon Web Services betreut wird.
Der Kernel ist in C implementiert und zeichnet sich durch einen sehr kleinen Footprint aus. Typischerweise benötigt er lediglich 5-10 kB ROM, abhängig von Architektur und Konfiguration. Damit eignet sich FreeRTOS besonders für ressourcenbeschränkte Mikrocontrollersysteme.
Typische Einsatzbereiche
FreeRTOS wird überall dort eingesetzt, wo deterministisches Echtzeitverhalten erforderlich ist, unter anderem in
- IoT-Geräten
- Industrieller Automatisierung
- Automobilelektronik
- Medizintechnik
- Consumer Electronics
- Robotik
Warum FreeRTOS?
Zu den zentralen Vorteilen von FreeRTOS zählen unter anderem
- deterministisches Verhalten
- geringe Latenzzeiten
- hohe Portabilität
- eine aktive Community und umfangreiche Dokumentation
- kostenlose kommerzielle Nutzung
- kleiner Footprint
- eine vergleichsweise flache Lernkurve
Ein wesentlicher Vorteil ist die breite Architekturunterstützung. FreeRTOS läuft auf über 40 Mikrocontroller-Architekturen, darunter ARM Cortex-M, Cortex-A, Cortex-R, AVR, RISC-V, PIC, Renesas RX, x86 und viele weitere. Für Unternehmen bedeutet dies hohe Investitionssicherheit und eine relativ einfache Portierung innerhalb einer Produktfamilie.

Bild 1: Mechanismen, bei denen FreeRTOS Unterstützung in der Entwicklung bietet
Architektur und Kernkonzepte
- Task-Management
FreeRTOS basiert auf einem präemptiven, prioritätsbasierten Scheduler. Tasks (Threads) sind unabhängige Ausführungseinheiten mit eigener Priorität. Der Scheduler stellt sicher, dass stets der höchste bereite Task ausgeführt wird.
Scheduling-Optionen:
- Präemptiv (Standard)
- Kooperativ
- Time-Slicing für Tasks gleicher Priorität (Abarbeitung der Tasks gleicher Priorität abwechselnd im Millisekunden-Abschnitten)
Task-Zustände:
- RUNNING
- READY
- BLOCKED
- SUSPENDED

Bild 2: Mögliche Task-States in FreeRTOS
- Synchronisation, Kommunikation und Ressourcenmanagement
FreeRTOS stellt zahlreiche Mechanismen zur Inter-Task-Kommunikation bereit:
- Binäre Semaphore zur Signalisierung
- Counting Semaphore (zählende) zur Ressourcenzählung
- Mutexe mit Priority Inheritance zur Vermeidung von Priority Inversion
- Event Groups
- Task Notifications als besonders leichtgewichtigen Mechanismus
- Queues als threadsichere FIFO-Puffer
- Stream- und Message-Buffer
- Speicherverwaltung
FreeRTOS bietet fünf Heap-Management-Varianten (heap_1 bis heap_5), die unterschiedliche Kompromisse zwischen Einfachheit, Speichereffizienz und Fragmentierungsverhalten ermöglichen – von rein statischer Allokation bis zu komplexerer dynamischer Verwaltung.
- Software-Timer
Software-Timer ermöglichen zeitgesteuerte oder periodische Funktionsaufrufe ohne dedizierten Hardware-Timer. Sie werden von einem speziellen Timer-Service-Task verwaltet.
- Interrupt-Behandlung
Für Interrupt-Service-Routinen stellt FreeRTOS spezielle API-Funktionen mit dem Suffix FromISR bereit. Interrupt-Nesting (verschachtelte Interrupt-Abarbeitung) wird unterstützt, ebenso Mechanismen für kritische Sektionen (critical sections).
- Konfiguration
Die gesamte Systemkonfiguration erfolgt über die Datei FreeRTOSConfig.h. Dort werden Parameter wie Tick-Rate, maximale Prioritäten, Heap-Größe und aktivierte Features definiert. So lässt sich das System präzise an Projektanforderungen anpassen.
Erweiterungen und Zusatzmodule
Neben dem Kernel existieren ergänzende Komponenten, wie
- TCP/IP-Stack
- IoT-Integrationsbibliotheken
- Dateisystem für SD-Karten und andere Speichermedien
- Befehlszeilenschnittstelle für Debugging und Konfiguration
Debugging und Analyse
FreeRTOS bietet integrierte Diagnosefunktionen, wie Stack-Overflow-Erkennung, Laufzeitstatistiken, Task-Listen und Trace-Hooks.
Externe Analysewerkzeuge ermöglichen eine detaillierte Laufzeitanalyse und Systemoptimierung.
Lizenzmodell: Was bedeutet das für Unternehmen?
FreeRTOS steht unter der MIT-Lizenz. Das bedeutet:
- Kostenlose Nutzung in kommerziellen Produkten
- Keine Offenlegungspflicht des eigenen Anwendungscodes
- Keine Copyleft-Verpflichtungen
- Änderungen am Kernel müssen nicht veröffentlicht werden
Der Lizenz- und Copyright-Hinweis muss beibehalten werden. Der Haftungsausschluss gilt; die Verantwortung für Tests, Sicherheit und Zertifizierungen liegt beim Hersteller.
Sicherheitskritische Anwendungen
Für funktional sichere Anwendungen existiert mit SAFERTOS eine zertifizierte Variante, die unter anderem Normen wie IEC 61508, ISO 26262 und EN 62304 erfüllt. Für diese Variante fallen Lizenzkosten an.
Wann ist FreeRTOS die richtige Wahl?
FreeRTOS ist besonders geeignet, wenn
- Echtzeitverhalten erforderlich ist
- der verfügbare Speicher begrenzt ist
- Portabilität zwischen Mikrocontroller-Architekturen wichtig ist
- ein lizenzkostenfreies, etabliertes RTOS gesucht wird
- Skalierbarkeit innerhalb einer Produktfamilie vorgesehen ist
Weniger geeignet ist es, wenn ein vollwertiges Embedded-Linux-System benötigt wird, sehr komplexe MMU-basierte Systeme im Fokus stehen oder umfangreiche POSIX-Kompatibilität gefordert ist.
Fazit
FreeRTOS zählt zu den flexibelsten und wirtschaftlich attraktivsten Echtzeitbetriebssystemen für Mikrocontroller.
Die Kombination aus kleinem Footprint, hoher Portabilität, breiter Architekturunterstützung und unkompliziertem Lizenzmodell macht es in vielen Embedded-Projekten zur bevorzugten Wahl. Die gute Portierbarkeit erhöht zudem die langfristige Flexibilität bei der Mikrocontroller-Auswahl und reduziert den Aufwand bei Produktvarianten oder Architekturwechseln.
Sie möchten tiefer einsteigen?
In den RTOS-Trainings der MicroConsult Academy werden unter anderem folgende Themen praxisnah vermittelt:
- Grundlagen von Echtzeitbetriebssystemen
- Architektur und Konfiguration von FreeRTOS
- Task-Design und Scheduling-Strategien
- Synchronisationsmechanismen
- Debugging und Systemanalyse in realen Projektszenarien
Damit erhalten Entwicklungsteams das notwendige Rüstzeug für einen professionellen und effizienten Einsatz von FreeRTOS in industriellen Anwendungen.
Weiterführende Informationen
Training: RTOS-Anwendung – Entwicklung von Laufzeit-Architekturen für Embedded- und Echtzeitsysteme
MicroConsult Training & Coaching zu Embedded- und Echtzeitprogrammierung
MicroConsult Training & Coaching zu Embedded- und Echtzeit-Betriebssystemen
MicroConsult Fachwissen Embedded- und Echtzeit-Softwareentwicklung
Der MicroConsult-Newsletter

Wir informieren Sie mehrmals jährlich über Trends und Best Practices im Embedded Systems Engineering.
Erhalten Sie wertvolles Fachwissen und Tipps aus erster Hand von unseren Embedded-Experten!