Zum Inhalt springen

„FreeRTOS“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
K BKKL-Auflösung
K https
Zeile 11: Zeile 11:
| Vorabversion =
| Vorabversion =
| Freigabedatum Vorabversion =
| Freigabedatum Vorabversion =
| Quelle = [http://www.freertos.org/History.txt Version history]
| Quelle = [https://www.freertos.org/History.txt Version history]
| Stammbaum =
| Stammbaum =
| Kernel = [[Microkernel]]
| Kernel = [[Microkernel]]
Zeile 18: Zeile 18:
| Lizenz = 10: [[MIT-Lizenz|MIT]], davor modifizierte [[GPLv2]]
| Lizenz = 10: [[MIT-Lizenz|MIT]], davor modifizierte [[GPLv2]]
| Sonstiges =
| Sonstiges =
| Website = [http://www.freertos.org/ www.freertos.org]
| Website = [https://www.freertos.org/ www.freertos.org]
| Kompatibilität =
| Kompatibilität =
}}
}}
Zeile 25: Zeile 25:


== Merkmale ==
== Merkmale ==
Um eine gute [[Wartbarkeit]] zu gewährleisten, wird FreeRTOS weitestgehend in [[C (Programmiersprache)|C]] entwickelt, lediglich wenige [[Funktion (Programmierung)|Funktionen]] sind in [[Assemblersprache|Assembler]] realisiert. Der [[Prozess-Scheduler|Scheduler]] ist konfigurierbar, so dass [[Multitasking#Präemptives Multitasking|präemptiver]] und [[Multitasking#Kooperatives Multitasking|kooperativer]] Betrieb möglich ist. Das Betriebssystem unterstützt ab der Version 4 zwei verschiedene Taskklassen. „Echte“ [[Prozess (Informatik)|Prozesse]] und [[Koroutine]]n, denen nur wenig Speicher zur Verfügung steht. „{{lang|en|Event Flags}}“ werden unter der Bezeichnung „{{lang|en|Binary Semaphore}}“ angeboten.<ref>http://www.freertos.org/Embedded-RTOS-Binary-Semaphores.html</ref> [[Mutex]]e sind in neueren Versionen vorhanden.<ref>http://www.freertos.org/Inter-Task-Communication.html#Mutexes FreeRTOS Inter-Task-Communication with Mutexes</ref>
Um eine gute [[Wartbarkeit]] zu gewährleisten, wird FreeRTOS weitestgehend in [[C (Programmiersprache)|C]] entwickelt, lediglich wenige [[Funktion (Programmierung)|Funktionen]] sind in [[Assemblersprache|Assembler]] realisiert. Der [[Prozess-Scheduler|Scheduler]] ist konfigurierbar, so dass [[Multitasking#Präemptives Multitasking|präemptiver]] und [[Multitasking#Kooperatives Multitasking|kooperativer]] Betrieb möglich ist. Das Betriebssystem unterstützt ab der Version 4 zwei verschiedene Taskklassen. „Echte“ [[Prozess (Informatik)|Prozesse]] und [[Koroutine]]n, denen nur wenig Speicher zur Verfügung steht. „{{lang|en|Event Flags}}“ werden unter der Bezeichnung „{{lang|en|Binary Semaphore}}“ angeboten.<ref>https://www.freertos.org/Embedded-RTOS-Binary-Semaphores.html</ref> [[Mutex]]e sind in neueren Versionen vorhanden.<ref>https://www.freertos.org/Inter-Task-Communication.html#Mutexes FreeRTOS Inter-Task-Communication with Mutexes</ref>


Dem Paket zum Herunterladen liegen fertige Konfigurationen für diverse [[Prozessorarchitektur|Architekturen]] und diverse Compilerumgebungen bei. Weiterhin liegen diverse Demos (z.&nbsp;B. ein [[Transmission Control Protocol/Internet Protocol|IP]]-Stack) bei. Auf FreeRTOS.org befindet sich umfangreiche Dokumentation zu FreeRTOS, Anleitungen („{{lang|en|tutorials}}“) sowie Dokumentation über den Aufbau eines RTOS und ein Vergleich der Implementationen auf verschiedenen Mikrocontrollern.
Dem Paket zum Herunterladen liegen fertige Konfigurationen für diverse [[Prozessorarchitektur|Architekturen]] und diverse Compilerumgebungen bei. Weiterhin liegen diverse Demos (z.&nbsp;B. ein [[Transmission Control Protocol/Internet Protocol|IP]]-Stack) bei. Auf FreeRTOS.org befindet sich umfangreiche Dokumentation zu FreeRTOS, Anleitungen („{{lang|en|tutorials}}“) sowie Dokumentation über den Aufbau eines RTOS und ein Vergleich der Implementationen auf verschiedenen Mikrocontrollern.
Zeile 57: Zeile 57:


== Lizenz ==
== Lizenz ==
FreeRTOS stand unter einer modifizierten [[GNU General Public License|GPL]]. Die Modifikation schränkt die Nutzung von FreeRTOS ein (z.&nbsp;B. dürfen keine Benchmarkergebnisse veröffentlicht werden), womit FreeRTOS keine [[Free/Libre Open Source Software]] war. Durch die Modifikation der GPL brauchte unter FreeRTOS laufende Applikationssoftware nicht auch unter die GPL gestellt zu werden, wodurch sich das Betriebssystem auch für nichtfreie Projekte eignete. Bedingungen war, dass der Endanwender von der FreeRTOS-Nutzung informiert wird, falls Quellcode verbreitet wird, und dass der Quellcode vom evtl. bearbeiteten RTOS-Kernel herausgegeben werden musste.<ref>[http://www.freertos.org/a00114.html License Details]</ref>
FreeRTOS stand unter einer modifizierten [[GNU General Public License|GPL]]. Die Modifikation schränkt die Nutzung von FreeRTOS ein (z.&nbsp;B. dürfen keine Benchmarkergebnisse veröffentlicht werden), womit FreeRTOS keine [[Free/Libre Open Source Software]] war. Durch die Modifikation der GPL brauchte unter FreeRTOS laufende Applikationssoftware nicht auch unter die GPL gestellt zu werden, wodurch sich das Betriebssystem auch für nichtfreie Projekte eignete. Bedingungen war, dass der Endanwender von der FreeRTOS-Nutzung informiert wird, falls Quellcode verbreitet wird, und dass der Quellcode vom evtl. bearbeiteten RTOS-Kernel herausgegeben werden musste.<ref>[https://www.freertos.org/a00114.html License Details]</ref>


Seit Version 10, die 2017 veröffentlicht wurde, steht die Software unter der [[MIT-Lizenz]].<ref>{{Internetquelle | url=https://aws.amazon.com/de/blogs/opensource/announcing-freertos-kernel-v10/ | titel=Announcing FreeRTOS Kernel Version 10 | sprache=en | datum=2017-11-29 | abruf=2019-07-05}}</ref>
Seit Version 10, die 2017 veröffentlicht wurde, steht die Software unter der [[MIT-Lizenz]].<ref>{{Internetquelle | url=https://aws.amazon.com/de/blogs/opensource/announcing-freertos-kernel-v10/ | titel=Announcing FreeRTOS Kernel Version 10 | sprache=en | datum=2017-11-29 | abruf=2019-07-05}}</ref>
Zeile 70: Zeile 70:


== Weblinks ==
== Weblinks ==
* [http://www.freertos.org FreeRTOS.org]
* [https://www.freertos.org FreeRTOS.org]
* [https://www.highintegritysystems.com/safertos/ SafeRTOS]
* [https://www.highintegritysystems.com/safertos/ SafeRTOS]



Version vom 21. März 2021, 19:19 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“ Prozesse 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:

Weitere beigetragene Portierungen

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 war. Durch die Modifikation der GPL brauchte unter FreeRTOS laufende Applikationssoftware nicht auch unter die GPL gestellt zu werden, wodurch sich das Betriebssystem auch für nichtfreie Projekte eignete. Bedingungen war, dass der Endanwender von der FreeRTOS-Nutzung informiert wird, falls Quellcode verbreitet wird, und dass der Quellcode vom evtl. bearbeiteten RTOS-Kernel herausgegeben werden musste.[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 kommerzieller technischer Unterstützung angeboten.

Einzelnachweise

  1. FreeRTOSv202212.01 Latest. 4. März 2023 (abgerufen am 8. August 2023).
  2. https://www.freertos.org/Embedded-RTOS-Binary-Semaphores.html
  3. https://www.freertos.org/Inter-Task-Communication.html#Mutexes FreeRTOS Inter-Task-Communication with Mutexes
  4. License Details
  5. Announcing FreeRTOS Kernel Version 10. 29. November 2017, abgerufen am 5. Juli 2019 (englisch).