Diskussion:FreeRTOS
Wozu braucht man FreeRTOS
BearbeitenFreeRTOS 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)
- 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)
- 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)
- 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)
- 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)
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?
Systemanforderungen
BearbeitenWas sind die Systemanforderungen von FreeRTOS? Prozessortakt, RAM, ROM, ...
Welche Hardware wird unterstützt (CPU-Kernel, Pheripherie,...)?
Gruß --JoBa2282 11:44, 22. Nov. 2007 (CET)
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
BearbeitenWarum hat der Artikel keine Infobox? --87.144.95.116 22:38, 9. Feb. 2011 (CET)
Lizenz
BearbeitenFreeRTOS steht jetzt unter MIT, daher ist der Abschnitt nicht mehr aktuell und sollte überarbeitet werden? Quelle: https://www.freertos.org
Amazon als Maintainer?!
BearbeitenGemäß 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)
- in der Englischen Wikipedia im Abschnitt "Derivations" gibt es einige Hinweise dazu. --MichaelK-osm (Diskussion) 13:58, 13. Feb. 2021 (CET)