Bitte beachten Sie: Diese Frage erwähnt speziell zwei RTOS, ist jedoch allgemeiner und kann wahrscheinlich von jedem beantwortet werden, der zuvor C-Code für eingebettete RTOS geschrieben hat und dessen Software direkt auf MCUs ausgeführt wurde.
Ich bin daran interessiert, mehr über eingebettete RTOSs zu erfahren und Anwendungen für sie zu schreiben. Ich sehe mir derzeit Embox und RIOT an, weil sie Open Source, modern, aktiv und mit hervorragender Dokumentation ausgestattet sind. Mein Ziel besteht aus zwei Phasen: Phase 1 besteht darin, herauszufinden, wie diese Betriebssysteme kompiliert und auf eine MCU (wahrscheinlich AVR oder ARM) geflasht werden. Phase 2 besteht darin, ein einfaches C-Programm (im Grunde ein kopfloser Daemon) zu schreiben, das sich im Laufe der Zeit als "Hobby-App" entwickeln würde. Ich würde dieses Programm dann auf derselben MCU flashen / bereitstellen und dabei erfolgreich einen Appstack bereitstellen, der aus Embox / RIOT und meiner darauf befindlichen App besteht.
Bevor ich alle Straßen nach unten gehen , die letztendlich in Sackgassen führen, ich über stolperte diesen Artikel , die einen ziemlich guten Job zu erklären , warum Echtzeit - Anwendungen, geschrieben in C / Assembler und geflasht MCUs, nicht wirklich brauchte RTOSes sie unter .
Jetzt bin ich wirklich verwirrt und stelle einige meiner grundlegenden Kenntnisse der Computertheorie in Frage. Ich denke, ich versuche zu entscheiden, ob ich Embox / RIOT überhaupt verwenden soll oder nicht:
- Bleiben Sie auf Kurs und nutzen Sie einen "App-Stack" auf der MCU beider OS + -Apps. oder
- Beachten Sie die Warnung des Artikels und gehen Sie einfach mit einer MCU, auf der meine App "Bare Metal" ausgeführt wird.
Ersteres ist natürlich mehr Arbeit, und daher sollte es einen guten Grund / eine gute Auszahlung für diesen Weg geben. Ich frage also: Was sind die wirklichen Vorteile, die diese (und ähnliche) eingebetteten RTOS für MCU / C-App-Entwickler bieten? Welche spezifischen Funktionen könnte meine C-App durch die Verwendung eines RTOS nutzen (möglicherweise, indem das Rad nicht neu erfunden wird?)? Was geht verloren, wenn man das RTOS fallen lässt und auf Bare Metal geht?
Ich bitte hier um konkrete Beispiele, nicht um den Medienrummel, den man bekommt, wenn man zum Wikipedia-Eintrag für RTOSes geht ;-)