FreeRTOS
aus Wikipedia, der freien Enzyklopädie
FreeRTOS ist ein Open-Source-Echtzeitbetriebssystem für eingebettete Systeme. Es wurde auf verschiedene Mikrocontroller portiert. Das unter einer leicht modifizierten GPL stehende Microkernelsystem wird zur Zeit in der Version 4.1.3 vom 19. November 2006 angeboten. Durch die leichte Modifikation der GPL muss unter FreeRTOS laufende Applikationssoftware nicht auch unter die GPL gestellt werden, wodurch sich das Betriebssystem auch für kommerzielle Projekte eignet. Im Gegensatz zu kommerziellen Systemen, wie embOS und CMX-RTX fehlen FreeRTOS allerdings wichtige Synchronisationsmechanismen wie Event Flags und Mutexe (Mutexe sind in neueren Versionen vorhanden). Eine, ebenfalls freie, Alternative zu FreeRTOS ist der TNKernel, der über eine vollständige Synchronisations-API verfügt, aber auf weniger Mikrocontroller portiert wurde als FreeRTOS.
[Bearbeiten] Merkmale
Um eine gute Wartbarkeit zu gewährleisten wird FreeRTOS weitestgehend in C entwickelt, lediglich wenige Funktionen sind in Assembler realisiert. Der Scheduler ist konfigurierbar, so dass präemptiver und kooperativer Betrieb möglich ist. Das Betriebssystem unterstützt seit der Version 4 zwei verschiedene Taskklassen. "Echte" Tasks und Koroutinen, denen nur wenig Speicher zur Verfügung steht.
Dem Download liegen fertige Konfigurationen für diverse Architekturen und diverse Compilerumgebungen bei. Weiterhin liegen dem Download diverse Demos (z.B. ein IP-Stack) bei. Auf FreeRTOS.org befinden sich umfangreiche Dokumentation zu FreeRTOS, Tutorials sowie Dokumentation über den Aufbau eines RTOS und ein Vergleich der Implementationen auf verschiedenen Mikrocontrollern.
Ein Ableger des Betriebssystems ist SafeRTOS. Basierend auf FreeRTOS ist es für sicherheitskritische Bereiche nach IEC 61508 konzipiert. Es ist vom TÜV Süd zertifiziert bis Sicherheitsanforderungsstufe SIL-3.
[Bearbeiten] Unterstützte Architekturen
- Mikrocontroller mit ARM7-Architektur
- Mikrocontroller mit ARM-Cortex-M3-Architektur
- Atmel AVR
- Freescale Semiconductor HCS12-Familie
- Xilinx MicroBlaze
- Texas Instruments MSP430
- Microchip Technology PIC18, PIC24, dsPIC
- Renesas H8/S
- Mikroprozessoren mit x86-Architektur
- Intel 8052