Diskussion:FreeRTOS

Letzter Kommentar: vor 3 Jahren von MichaelK-osm in Abschnitt Amazon als Maintainer?!

Wozu braucht man FreeRTOS

Bearbeiten

FreeRTOS ist ein Betriebssytem für Microcontroller. Liest man den Artikel, dann wird nicht klar wozu es dienen soll. Wenn ich eine Anwendung für den PIC entwickle, dann schreibe ich ein Programm in Assembler oder in C, compiliere es und schreibe es in den Controller. Das war es. Wozu in aller Welt brauche ich jetzt ein Betriebssystem? Könnte das mal jemand erklären? -- 84.132.107.252 19:13, 14. Jun. 2007 (CEST)Beantworten

Na das OS nimmt dir einige Dinge ab, mit FreeRTOS selbst habe ich noch nie gearbeitet, dessen API kenn ich nicht. Aber normalerweise stellt dir das OS Funktionen zur Task-, Timer- und Interruptbehandlung. Teilweise auch Unterstützung für z.B. MUTEX. Ein preemtives System mit Taskswitches selbst zu implementieren ist gar nicht so trivial. -- unenzyklopädisch! Disk. 18:11, 16. Jun. 2007 (CEST)Beantworten
Frage: Wenn ich ein Programm sagen wir auf einem 80C31 Board Entwickle kann ich diese dann auch ohne grossen Aufwand auch auf einem PIC laufen lassen?
Wenn das so wäre es wirklich nützlich mit so einem Betriebssystem zu arbeiten.
-- MichaelFrey 20:02, 16. Jun. 2007 (CEST)Beantworten
FreeRTOS kenne ich an der Stelle wie gesagt leider nicht, ich weiß nicht was da noch an Konfigurationsaufwand reingesteckt werden muss, bis das mal initial läuft. Grundsätzlich ists bei Verwendung eines OS auf jeden Fall leichter möglich Code vom einen zum anderen µC zu portieren. Unproblematisch ist das aber nie. Der neue Compiler kann anders reagieren, daher sollte sehr auf sauberen Code geachtet werden. Und das OS ersetzt kein HAL, d.h. das SW-Design sollte sehr sauber sein. Alles hardwareanhängige muss naturlich sowieso angepasst werden. Kommt insgesamt sehr auf die Applikation an, die portiert werden soll... -- unenzyklopädisch! Disk. 20:31, 16. Jun. 2007 (CEST)Beantworten
FreeRTOS ist primär ein "Taskmanager". Angenommen ein Mikrocontroller hat die Aufgabe mehrere, voneinander (fast) unabhängige Aktionen zu erledigen: Die Tasks können dabei durchaus auf externe Ereignisse wie z.b. Daten von Schnittstellen warten, und sollen sich dabei nicht gegenseitig in ihren Ablauf "stören" (=blockieren). Mit dem Problem, dass jede Art des "busy-waiting" vermieden werden muss. (busy-waiting == Warteschleife bis mal was kommt. Im schlimmsten Fall unbeschränkt lange ohne zeitliches Abbruchkriterium warten).
Bei kleineren uC-Aufgabenstellungen geht das auch ohne Kernel noch so ganz gut. Ergibt dann mitunter aber schon schwer nachvollziehbare switch-case-Bäume oder Programmcode wo alles in den Interrupt-Routinen über state-machines ohne Warteschleifen abläuft und die main-Funktion nach dem init() unter Umständen nur noch aus einer leeren Schleife (=idle) besteht. Sobald nun die Aufgaben komplexer und umfangreicher werden, samt Kommunikation und Synchronisation zwischen den Programmabschnitten, ist ohne Task-Manager meist schwer wartbarer und fehleranfälliger Code die Folge. Von Problemen beim Debuggen von meist nur selten auftretenden Synchronisationsproblemen ganz zu schweigen.
Es geht beim Einsatz solcher Mini-Kernels wie FreeRTOS nicht um die leichte Portierbarkeit von Programmcode zwischen verschiedenen uControllern und Hardwareplattformen. Auch Zugriffsrechteverwaltung oder Dateifunktionen (Filesystem) wie bei grösseren Betriebsystemen spielen bei diesen Mini-Kernels keine Rolle und fehlen. Einzig die "Quasi-Parallelität von Abläufen und deren Synchronisierung" ist das Ziel.--wdwd 22:56, 15. Aug. 2008 (CEST)Beantworten

Mir ist nicht klar, was der Verweis auf TNKernel hier soll. Soweit ich FreeRTOS und TNKernel verstehe, gibt es da keine spezielle Verbindung (außer dass beide zur gleichen "Softwareklasse" gehören). Wäre es nicht sinnvoller, TNKernel bereits auf der Seite "Echtzeitbetriebssysteme" zu erwähnen?

Dirk -- 87.160.128.186 21:00, 21. Apr. 2011 (CEST)Beantworten

Systemanforderungen

Bearbeiten

Was sind die Systemanforderungen von FreeRTOS? Prozessortakt, RAM, ROM, ...
Welche Hardware wird unterstützt (CPU-Kernel, Pheripherie,...)?
Gruß --JoBa2282 11:44, 22. Nov. 2007 (CET)Beantworten


   Die Anforderungen sind sehr gering. Ich habe FreeRTOS auf einem ATmega8 laufen, d.h. 8kByte ROM reichen locker. Du musst ca 500 Byte RAM für das System rechnen 
   und min 100 Byte pro Task. Es sei denn deine Task an sich braucht viel RAM. Die Taktfrequenz der CPU ist eigentlich egal. 
   Desweiteren braucht die CPU Interrups (hat eigentlich jede) und einen Timer/Counter (hat glaub ich auch jede). 
   Gruß Harry

Infobox

Bearbeiten

Warum hat der Artikel keine Infobox? --87.144.95.116 22:38, 9. Feb. 2011 (CET)Beantworten

FreeRTOS steht jetzt unter MIT, daher ist der Abschnitt nicht mehr aktuell und sollte überarbeitet werden? Quelle: https://www.freertos.org

Amazon als Maintainer?!

Bearbeiten

Gemäß einem Video von Digi-Key hat Amazon 2017 die Wartung und Pflege des FreeRTOS Projekts übernommen. --MichaelK-osm (Diskussion) 13:23, 13. Feb. 2021 (CET)Beantworten

in der Englischen Wikipedia im Abschnitt "Derivations" gibt es einige Hinweise dazu. --MichaelK-osm (Diskussion) 13:58, 13. Feb. 2021 (CET)Beantworten