Uwaga: To pytanie konkretnie wspomina o dwóch RTOSach, ale jest bardziej ogólne i prawdopodobnie może na nie odpowiedzieć każdy, kto napisał wcześniej kod C dla wbudowanych RTOS, i którego oprogramowanie działało bezpośrednio na MCU.
Chciałbym dowiedzieć się więcej na temat wbudowanych RTOS i pisać dla nich aplikacje. Obecnie patrzę na Embox i RIOT, ponieważ są otwarte, nowoczesne, aktywne i wydają się mieć doskonałą dokumentację. Mój cel składa się z dwóch faz: Faza 1 polega na ustaleniu, jak skompilować i sflashować te systemy operacyjne do MCU (prawdopodobnie AVR lub ARM). Faza 2 polega następnie na napisaniu prostego programu C (w zasadzie demona bezgłowego), który ewoluowałby z czasem jako „aplikacja hobbystyczna”. Następnie sflashowałem / wdrożyłem ten program na tym samym MCU, a tym samym pomyślnie wdrożyłem pakiet aplikacji składający się z Embox / RIOT i mojej aplikacji znajdującej się na nim.
Zanim przejdę drogą, która ostatecznie prowadzi do ślepych uliczek , natknąłem się na ten artykuł , który całkiem nieźle wyjaśnia, dlaczego aplikacje czasu rzeczywistego, napisane w C / asemblerze i flashowane na MCU, tak naprawdę nie potrzebują RTOS pod nimi .
Więc teraz jestem naprawdę zdezorientowany i kwestionuję niektóre moje podstawowe rozumienie teorii obliczeń. Chyba próbuję podjąć decyzję, czy w ogóle użyć Embox / RIOT:
- Pozostań na kursie i korzystaj z „stosu aplikacji” na MCU obu aplikacji OS +; lub
- Posłuchaj ostrzeżenia tego artykułu i po prostu skorzystaj z MCU z uruchomioną aplikacją „bare metal”
Oczywiście pierwsza z nich to więcej pracy, więc lepiej mieć dobry powód / korzyści z pójścia tą drogą. Pytam więc: jakie są rzeczywiste korzyści, jakie te (i podobne) osadzone RTOS oferują twórcom aplikacji MCU / C? Z jakich konkretnych funkcji mogłaby skorzystać moja aplikacja C (być może nie zmieniając kierownicy?) Dzięki zastosowaniu RTOS? Co zostaje utracone przez porzucenie RTOS i przejście na czysty metal?
Proszę o konkretne przykłady tutaj, a nie o medialny szum, który pojawia się, gdy przechodzisz do wpisu wikipedii dla RTOS ;-)