„FreeRTOS“ – Versionsunterschied
[gesichtete Version] | [gesichtete Version] |
Zeile 52: | Zeile 52: | ||
* Cyan eCog Mikrocontroller |
* Cyan eCog Mikrocontroller |
||
* [[Analog Devices]] [[Blackfin]] BF533 |
* [[Analog Devices]] [[Blackfin]] BF533 |
||
* [[Zilog |
* [[Zilog Z80|Zilog eZ80]] |
||
* [[Lattice Semiconductor Corporation|Lattice]] Mico32 |
* [[Lattice Semiconductor Corporation|Lattice]] Mico32 |
||
* [[RISC-V]] |
* [[RISC-V]] |
Version vom 28. September 2019, 17:51 Uhr
FreeRTOS | |
---|---|
![]() | |
Entwickler | Richard Barry, Amazon |
Lizenz(en) | 10: MIT, davor modifizierte GPLv2 |
Erstveröff. | 2003 |
Akt. Version | 202212.01[1] vom 4. März 2023 |
Kernel | Microkernel |
www.freertos.org |
FreeRTOS ist ein Echtzeitbetriebssystem für eingebettete Systeme. Es basiert auf einer Mikrokernelarchitektur und wurde auf verschiedene Mikrocontroller portiert.
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 ab der Version 4 zwei verschiedene Taskklassen. „Echte“ Tasks und Koroutinen, denen nur wenig Speicher zur Verfügung steht. „Event Flags“ werden unter der Bezeichnung „Binary Semaphore“ angeboten.[2] Mutexe sind in neueren Versionen vorhanden.[3]
Dem Paket zum Herunterladen liegen fertige Konfigurationen für diverse Architekturen und diverse Compilerumgebungen bei. Weiterhin liegen diverse Demos (z. B. ein IP-Stack) bei. Auf FreeRTOS.org befindet sich umfangreiche Dokumentation zu FreeRTOS, Anleitungen („tutorials“) sowie Dokumentation über den Aufbau eines RTOS und ein Vergleich der Implementationen auf verschiedenen Mikrocontrollern.
Unterstützte Architekturen
Unterstützte Prozessorarchitekturen:
- Mikrocontroller mit ARM7-Architektur
- Mikrocontroller aus der "ARM Cortex-M"-Familie
- Altera Nios II Softcore-Prozessor
- Atmel AVR und Atmel AVR32
- Freescale Semiconductor HCS12-Familie und Coldfire V2
- Xilinx MicroBlaze und PowerPC PPC405
- Texas Instruments MSP430, ARM Cortex-M4F MSP432, TMS570 und RM48
- Microchip Technology PIC18, PIC24, dsPIC, PIC32
- Renesas H8/S SuperH
- Fujitsu MB91460 32 bit und MB96340 16 bit
- NEC V850ES 32 bit und 78K0R 16 bit
- OpenRISC
- Espressif ESP8266ex und ESP32
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
- RISC-V
Lizenz
FreeRTOS stand unter einer modifizierten GPL. Die Modifikation schränkt die Nutzung von FreeRTOS ein (z. B. dürfen keine Benchmarkergebnisse veröffentlicht werden), womit FreeRTOS keine Free/Libre Open Source Software ist. Durch die Modifikation der GPL braucht unter FreeRTOS laufende Applikationssoftware nicht auch unter die GPL gestellt zu werden, wodurch sich das Betriebssystem auch für nichtfreie Projekte eignet. Bedingungen sind, dass der Endanwender von der FreeRTOS-Nutzung informiert wird, falls Quellcode verbreitet wird, und dass der Quellcode vom evtl. bearbeiteten RTOS-Kernel herausgegeben werden muss.[4]
Seit Version 10, die 2017 veröffentlicht wurde, steht die Software unter der MIT-Lizenz.[5]
Verwandte Projekte
Als ergänzendes Produkt zu FreeRTOS wurde SafeRTOS entwickelt: Bei ansonsten gleicher Funktionalität beinhaltet es sicherheitskritische Ergänzungen. Das FreeRTOS-Funktionsmodell wurde dazu einem PAAG-Verfahren unterzogen und dabei identifizierte Schwächen sowohl im Funktionsmodell als auch in der API beseitigt. Die daraus resultierenden Anforderungen wurden dem IEC 61508 SIL3-Entwicklungszyklus unterzogen – dem für eine Softwarekomponente anspruchsvollsten Zyklus. SafeRTOS ist vom TÜV Süd bis Sicherheitsanforderungsstufe SIL 3 zertifiziert.
Als OpenRTOS wird der FreeRTOS-Code mit alternativer Lizenz angeboten. Die OpenRTOS-Lizenz entfernt alle Verweise zur GPL und deren Implikationen. Der RTOS-Kernel darf modifiziert werden, ohne dass der modifizierte Code offengelegt werden muss. Zudem wird OpenRTOS-Anwendern kommerzielle technische Unterstützung angeboten.
Einzelnachweise
- ↑ FreeRTOSv202212.01 Latest. 4. März 2023 (abgerufen am 8. August 2023).
- ↑ http://www.freertos.org/Embedded-RTOS-Binary-Semaphores.html
- ↑ http://www.freertos.org/Inter-Task-Communication.html#Mutexes FreeRTOS Inter-Task-Communication with Mutexes
- ↑ License Details
- ↑ Announcing FreeRTOS Kernel Version 10. 29. November 2017, abgerufen am 5. Juli 2019 (englisch).