- SafeRTOS
-
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 5.2.0 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. Mutexe sind in neueren Versionen vorhanden [1]. Eine, ebenfalls freie, Alternative zu FreeRTOS ist der TNKernel[2], der über eine vollständige Synchronisations-API verfügt, aber auf weniger Mikrocontroller portiert wurde als FreeRTOS.
Inhaltsverzeichnis
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.
Unterstützte Architekturen
- Mikrocontroller mit ARM7-Architektur
- Mikrocontroller mit ARM-Cortex-M3-Architektur
- Atmel AVR und Atmel AVR32
- Freescale Semiconductor HCS12-Familie und Coldfire V2
- Xilinx MicroBlaze und PowerPC PPC405
- Texas Instruments MSP430
- Microchip Technology PIC18, PIC24, dsPIC, PIC32
- Renesas H8/S SuperH
- Fujitsu MB91460 32bit und MB96340 16bit
- NEC V850ES 32bit und 78K0R 16bit
Weitere beigetragene Portierungen
- Mikroprozessoren mit x86-Architektur
- Intel 8052/8051
- Mikrocontroller mit Infineon TriCore-Architektur
- Jennic JN5139 Mikrocontroller
- Cyan eCog Mikrocontroller
- Analog Devices Blackfin BF533
- Zilog eZ80
- Lattice Mico32
Einzelnachweise
- ↑ http://www.freertos.org/Inter-Task-Communication.html#Mutexes FreeRTOS Inter-Task-Communication with Mutexes
- ↑ http://www.tnkernel.com TNKernel
Weblinks
Wikimedia Foundation.