logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Wybór systemu RTOS dla STM32F4: FreeRTOS, ChibiOS, CoOS czy ISIX-RTOS?

ka_3 22 Kwi 2015 14:15 1728 10
REKLAMA
  • #1 14637683
    ka_3
    Poziom 16  
    Posty: 295
    Ocena: 18
    Poszukuję jakiegoś systemu operacyjnego na STM32f4. Jaki wybrać?
    ISIX-RTOS
    FreeRTOS
    CoOS
    Chibi-OS
    Jaki wybrać? Tak abym nie zginął na początku.
  • REKLAMA
  • #2 14637736
    Samuraj
    Poziom 35  
    Posty: 2792
    Pomógł: 286
    Ocena: 616
    Wszystko zależy czego się oczekuje od systemu.
    Jeśli do mrugania diodą może być dowolny.
    To jest takie samo pytanie jak z dziedziny jaki kupić samochód.
  • #3 14637775
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Posty: 13336
    Pomógł: 1712
    Ocena: 870
    Zawsze jest jeszcze ten z mojego podpisu (; https://www.elektroda.pl/rtvforum/topic3000396.html

    Zaletą jest lokalne wsparcie w postaci mojej osoby (;
  • REKLAMA
  • #4 14637834
    ka_3
    Poziom 16  
    Posty: 295
    Ocena: 18
    Na początku będę mrugał diodą, docelowo będzie to system sterowania.
  • #5 14639121
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Posty: 13336
    Pomógł: 1712
    Ocena: 870
    To co opisujesz da się zrobić na każdym istniejącym RTOSie i - oczywiście - bez niego również. RTOSy różnią się od siebie raczej innymi cechami niż "co się da na nich zrobić".
  • REKLAMA
  • #6 14639402
    ka_3
    Poziom 16  
    Posty: 295
    Ocena: 18
    Wiem, że na każdym się da. Który ma najlepsze wsparcie? fora, poradniki dokumentacja?
    Trudniejsze jest programowanie pod RTOS czy bez?
  • #7 14639433
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Posty: 13336
    Pomógł: 1712
    Ocena: 870
    ka_3 napisał:
    Który ma najlepsze wsparcie? fora, poradniki dokumentacja?

    Nie wiem czy na takie pytanie da się odpowiedzieć (; Wszystko zależy od Twojej znajomości języków czy "obycia" z dokumentacją która niekoniecznie "prowadzi za rączkę". Nie chcę się specjalnie rozwodzić o innych RTOSach - moja opinia zostałaby potraktowana jako subiektywna i stronnicza z racji tego że w ostateczności zdecydowałem się napisać własny RTOS...

    ka_3 napisał:
    Trudniejsze jest programowanie pod RTOS czy bez?

    Odpowiedź na to pytanie powinna być w miarę oczywista - tworzenie (nietrywialnych) programów pod RTOS jest wielokrotnie bardziej skompilowane niż pisanie "normalnych" programów. Początki są zwykle bardzo trudne. Bardzo ważne jest naprawdę dobre opanowanie programowania w C/C++ i nie mówię tutaj o podstawach.
  • #8 14641011
    BeginEnd
    Poziom 14  
    Posty: 85
    Pomógł: 10
    Ocena: 11
    Freddie Chopin napisał:
    Bardzo ważne jest naprawdę dobre opanowanie programowania w C/C++ i nie mówię tutaj o podstawach.

    Raczej bym to uogólnił: nie ważny jest język programowania tylko umiejętność się liczy. W Pascalu czy Brainfuck'u da się napisać dobry program - tylko zależy od umiejętności planowania. Język programowanie jet tylko narzędziem wyrażania własnej woli. Też kiedyś myślałem, że jestem super-hiper bo umiem napisać klasę abstrakcyjną z dziedziczeniem po wielu innych klasach szablonowych. To nie jest to.

    A wracając do meritum - poczytaj dokumentacje wszystkich systemów. Ściągnij ich kody, popatrz na przykładowe aplikacje i wybierz ten, który tobie najbardziej leży. Jeżeli nie jesteś architektem systemowym to nie ma większego znaczenia, który wybierzesz byle się Tobie w nim wygodnie programowało.
  • #9 14641252
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Posty: 13336
    Pomógł: 1712
    Ocena: 870
    BeginEnd napisał:
    Raczej bym to uogólnił: nie ważny jest język programowania tylko umiejętność się liczy.

    Też, ale ciężko byłoby używać jakiegoś RTOSa napisanego w C bez znajomości tego C. Znajomość akurat C i C++ jest dodatkowo istotna również z tego względu, że nie słyszałem o RTOSach napisanych w Pascalu czy Brainfucku...

    Po prostu trzeba się "znać na programowaniu", umieć C/C++ na poziomie nie-podstawowym i przyswoić sobie specyficzny sposób myślenia konieczny przy pracy z wieloma wątkami (;
  • REKLAMA
  • #10 14641762
    ka_3
    Poziom 16  
    Posty: 295
    Ocena: 18
    Muszę o jeszcze dobrze przemyśleć. Projekt będzie realizowany jako praca dyplomowa. To w czym będę programował, i jaki mikrokontroler użyję nie ma większego znaczenia. Nie wiem czy jest sens utrudniać sobie sprawę z RTOS?
  • #11 14641842
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Posty: 13336
    Pomógł: 1712
    Ocena: 870
    ka_3 napisał:
    Nie wiem czy jest sens utrudniać sobie sprawę z RTOS?

    My też nie wiemy, bo niby skąd, skoro nie napisałeś ani słowa o swoim projekcie? (;

    Od tego właśnie wszystko zależy. W projektach które realizują jedną funkcję (lub kilka mocno powiązanych ze sobą funkcji) RTOS nie ma sensu, bo po co RTOS do jednego wątku lub do kilku wątków które i tak w większości muszą na siebie czekać (co powoduje bardzo skomplikowane zależności synchronizacyjne)? Jeśli zaś w projekcie jesteś w stanie wyodrębnić kilka funkcji, które nie są od siebie zależne, to takie funkcje są dobrymi kandydatami na wątki - przykładowo obsługa LCD + obsługa interfejsu użytkownika (jakieś przyciski) + obsługa konsoli po UART + logowanie jakichś danych na kartę SD + jakaś funkcja sterowania czymś na podstawie pomiarów jakiegoś czujnika, ...

Podsumowanie tematu

✨ W dyskusji poruszono wybór systemu operacyjnego dla mikrokontrolera STM32F4, z uwzględnieniem opcji takich jak FreeRTOS, ISIX-RTOS, CoOS i Chibi-OS. Uczestnicy podkreślili, że wybór zależy od wymagań projektu oraz umiejętności programistycznych. Wskazano, że dla prostych aplikacji, takich jak mruganie diodą, można użyć dowolnego RTOS-a, jednak dla bardziej złożonych systemów, takich jak sterowanie, warto rozważyć RTOS z dobrym wsparciem dokumentacyjnym i społecznościowym. Zauważono, że programowanie w RTOS jest bardziej skomplikowane niż w tradycyjnych aplikacjach, co wymaga dobrej znajomości języków C/C++ oraz umiejętności zarządzania wątkami. Wskazano również, że w projektach z wieloma niezależnymi funkcjami, RTOS może być korzystny.
Wygenerowane przez model językowy.
REKLAMA