RTOS - kiedy powinno się go zacząć używać ?

Linux jako system PC i Embedded
Regulamin forum
Aby łatwiej poruszać się w zagadnieniach to prosimy aby w temacie, na samym początku, w nawiasach prostokątnych umieszczać hasło wiodące dla opisywanego problemu np. [Debian], [System embedded], [Linux Mint] itp.
Awatar użytkownika
StaryAnoda_NEW
User
User
Posty: 103
Rejestracja: środa 04 kwie 2018, 16:48

RTOS - kiedy powinno się go zacząć używać ?

Postautor: StaryAnoda_NEW » niedziela 27 maja 2018, 19:23

Hej

Mam pytanie pewnego razu bylem świadkiem jak pewien inżynier, bardzo zdolny nawiasem mówiąc, demonstrował projekt który był bardzo rozbudowany. Jako początkujący programista, byłem pod wrażeniem, że takie rzeczy można realizować na STM-ach. Zadałem pytanie czy ten projekt piszę pod kontrolą jakiegoś RTOS-a. Jego odpowiedź brzmiała mniej więcej tak "Nie potrzebuję czegoś co mi cyklicznie przełącza zadania, od tego są timery i przerwania" Powiecie mi drodzy koledzy kiedy należy używać RTOS-a ? I kiedy powinniśmy myśleć o jego zastosowaniu ?

Awatar użytkownika
ZbeeGin
User
User
Posty: 492
Rejestracja: sobota 08 lip 2017, 17:16
Lokalizacja: Śląsko-Zagłębiowska Metropolia
Kontaktowanie:

Re: RTOS - kiedy powinno się go zacząć używać ?

Postautor: ZbeeGin » niedziela 27 maja 2018, 20:18

Myślę, że nie ma takiej granicy kiedy można lub trzeba stosować RTOS. Jeśli jesteś świetnym programistą i radzisz sobie z kodem, i jego poszczególnymi częściami oraz nie gubisz się w tym, to wcale go nie będziesz potrzebował. Ewentualnie napiszesz własny - może lepszy, mniejszy - pod swoje potrzeby.
Uważam, że podstawowym kryterium powinna być chęć jego użycia i pozbycie się "babrania" w układaniu kodu by wszystko współgrało.

Awatar użytkownika
piotrek
User
User
Posty: 155
Rejestracja: niedziela 05 lis 2017, 02:46

Re: RTOS - kiedy powinno się go zacząć używać ?

Postautor: piotrek » poniedziałek 28 maja 2018, 08:20

Zależy gdzie on ma być używany, hobbysta może użyć RTOS-a do mrugania diodą a profesjonalista tam, gdzie się będzie opłacać. System RTOS oferuje dużo funkcji jest stabilny i można na nim polegać. Potrzebną funkcjonalność firma może sama napisać, ale do tego dochodzi czas potrzebny na implementację, testy, utrzymanie itd, a to wszystko kosztuje. Gotowy RTOS ma to wszystko zapewnione a użytkownik musi tylko opłacić licencję i ewentualne szkolenia dla programistów.

Awatar użytkownika
inż.wielki
User
User
Posty: 307
Rejestracja: niedziela 20 gru 2015, 23:11

Re: RTOS - kiedy powinno się go zacząć używać ?

Postautor: inż.wielki » poniedziałek 28 maja 2018, 08:40

To może ja powiem z własnego doświadczenia. To zależy od 3 czynników.

- Wolnej pamięci
- Zadania
- Terminu

Prosta sprawa, masz czas, masz ochotę a akurat projekt powinien latać w oparciu o 2 taski? To dlaczego, jasne że użyc jak masz ochotę. Z autopsji powiem tak, miałem parę projektów gdzie nie wkładałem RTOS'a na proca, ponieważ nie było czasu żeby to ogarnąć. Do tego mało pamięci robiło swoje, a projekcik miał dużo zmiennych, które wykorzystały wolną pamięć do cna. Jednak, jeżeli miałem proca, a na nim już działający RTOS z innego projektu, to korzystałem z tego. Pyk Pyk i task śmiga. Oczywiście że można robić przełączanie tasków ręcznie na timer'ach, tylko czy wtedy nie robisz prostego zarządcy taskami a potem coraz bliżej systemu czasu rzeczywistego? :)

Awatar użytkownika
squeez
User
User
Posty: 211
Rejestracja: czwartek 04 lut 2016, 10:13

Re: RTOS - kiedy powinno się go zacząć używać ?

Postautor: squeez » poniedziałek 28 maja 2018, 08:45

Systemów czasu rzeczywistego zazwyczaj używa się tam gdzie czas jego dokładność odgrywa istotną jak nie najistotniejszą rolę, oraz system uprawnień/wywłaszczeń procesów. Oczywiście że można każdy projekt zrobić "z" i "bez" ale w firmach (szczególnie tych dużych) efekt końcowy nie ma takiego znaczenia jak dokumentacja, środowisko pracy itp.
To tak jak np. z HAL i rejestrami dla STM32. Można pisać tak i siak. Ale jak ci przyjdzie przenieść soft na inny procek z innej rodziny, gdzie niekiedy nie tylko nazwy rejestrów są inne ale nawet ich użycie to zaczynają się schody. A takie projekty rzadko kiedy migają LED-em :) wówczas ogromną przewagą jest HAL który nijako niweluje te bariery.
Podobnie jest z systemami czasu rzeczywistego. Interesuje ciebie sama funkcja jej działanie i reżim czasowy a nie jak ustawić rejestry żeby przerwanie było takie albo śmakie :)
Tak tworzony soft jest łatwiejszy do utrzymania, dokumentacji, przenoszenia testowania itp. bo ma niejako "wspólny mianownik" przez co jest szybciej oraz bezpieczniej tworzony i rozwijany.

Awatar użytkownika
inż.wielki
User
User
Posty: 307
Rejestracja: niedziela 20 gru 2015, 23:11

Re: RTOS - kiedy powinno się go zacząć używać ?

Postautor: inż.wielki » poniedziałek 28 maja 2018, 13:11

squeez pisze:Systemów czasu rzeczywistego zazwyczaj używa się tam gdzie czas jego dokładność odgrywa istotną jak nie najistotniejszą rolę


No aż tak bym z tym nie wybiegał. Prawdziwe systemy czasu rzeczywistego, które gwarantują dokładność kosztują krocie. A taki darmowy FreeRTOS generalnie to jest luźne pojęcie. Tzn ja nie mówię że nie jest dokładny, ale tutaj nie ma pewności.

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1259
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: RTOS - kiedy powinno się go zacząć używać ?

Postautor: gaweł » poniedziałek 28 maja 2018, 13:46

Kiedy zacząć używać RTOS? To dobre pytanie. Tak całkiem filozoficznie zapytam o coś innego. Kiedy chcesz zostać odważnym?
Czy pytanie jest bez związku? Nie koniecznie. Wszystko jest kwestią punktu widzenia. Co daje stosowanie RTOS? Prostotę koncepcyjną. Do czego cię zmusza RTOS? Do wgryzienia się w jego cechy: zarówno wady jak i zalety. Co zabiera ci RTOS? W jakimś sensie zabiera ci kreatywność.

Co daje niestosowanie RTOS? Prostotę koncepcyjną (nie zawsze potrzebna jest armata na muchy). Do czego zmusza cię niestosowanie RTOS? Do wgryzienia się w prawdziwe mechanizmy jakimi rządzą się algorytmy. Co zabiera ci niestosowanie RTOS? W jakimś sensie zabiera ci kreatywność (czy nie chcesz poznać innych możliwości)?

Więc kiedy chcesz zostać odważnym, stojąc na krawędzi przepaści zrobić krok naprzód? Pewnie zwalisz się w przepaść... a może nauczysz się latać?
Twój wybór.

ZbeeGin pisze:Myślę, że nie ma takiej granicy kiedy można lub trzeba stosować RTOS. Jeśli jesteś świetnym programistą i radzisz sobie z kodem, i jego poszczególnymi częściami oraz nie gubisz się w tym, to wcale go nie będziesz potrzebował. Ewentualnie napiszesz własny - może lepszy, mniejszy - pod swoje potrzeby.
Uważam, że podstawowym kryterium powinna być chęć jego użycia i pozbycie się "babrania" w układaniu kodu by wszystko współgrało.

To mądre słowa. Wszystko jest kwestią punktu widzenia.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
StaryAnoda_NEW
User
User
Posty: 103
Rejestracja: środa 04 kwie 2018, 16:48

Re: RTOS - kiedy powinno się go zacząć używać ?

Postautor: StaryAnoda_NEW » czwartek 31 maja 2018, 16:05

Hmm

Po przemyśleniach, chce być odważnym z wizją tego, że nauczę się latać. W najbliższym czasie postaram się użyć RTOS-a w jakiejś niewielkiej aplikacji.

Dzięki za cenne odpowiedzi :)

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1259
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: RTOS - kiedy powinno się go zacząć używać ?

Postautor: gaweł » czwartek 31 maja 2018, 18:04

StaryAnoda_NEW pisze:W najbliższym czasie postaram się użyć RTOS-a w jakiejś niewielkiej aplikacji.

Podzielisz się przemyśleniami?

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
StaryAnoda_NEW
User
User
Posty: 103
Rejestracja: środa 04 kwie 2018, 16:48

Re: RTOS - kiedy powinno się go zacząć używać ?

Postautor: StaryAnoda_NEW » czwartek 31 maja 2018, 19:23

Postaram się :)

Awatar użytkownika
StaryAnoda_NEW
User
User
Posty: 103
Rejestracja: środa 04 kwie 2018, 16:48

Re: RTOS - kiedy powinno się go zacząć używać ?

Postautor: StaryAnoda_NEW » poniedziałek 11 cze 2018, 16:33

Hej

Po kilku przygodach doszedłem do kilku przemyśleń (bardzo skromnych):

Tworzyłem projekt na STM32F103, TFT i kilka sensorów pogodowych, moduł GSM, itp

Obecność stosu dla każdego Task-u trzeba o tym wiedzieć.
Pseudo wielozadaniowość.
Trudność z utworzeniem projektu z FREERTOS-em. Gdybym nie znalazł przykładu gdzie system był zaimplementowany to chyba bym nie sprostał aby go tam dodać.
Na pewno ułatwia programowanie jeżeli chodzi o 'równoległe' wykonywanie zadań
Po utworzenie projektu staram się go używać nawet, jeżeli nie ma potrzeby, o po prostu jest a jeżeli potrzebuję kolejnego zadania to go tworzę.

I to moje skromne opinie na ten moment. Jeżeli ktoś ma jakieś inne przemyślenia to zapraszam :)

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1259
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: RTOS - kiedy powinno się go zacząć używać ?

Postautor: gaweł » poniedziałek 11 cze 2018, 20:25

StaryAnoda_NEW pisze:Gdybym nie znalazł przykładu gdzie system był zaimplementowany to chyba bym nie sprostał aby go tam dodać.

Rozwiniesz swoją myśl?

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
StaryAnoda_NEW
User
User
Posty: 103
Rejestracja: środa 04 kwie 2018, 16:48

Re: RTOS - kiedy powinno się go zacząć używać ?

Postautor: StaryAnoda_NEW » poniedziałek 11 cze 2018, 20:43

W sensie, mam problem na dodaniu poszczególnych plików do folderu z projektem i skompilowaniu go, otrzymuję różnorakie błędy, ale to jest na osobny temat problem. Na razie mam przykład projektu pod RTOS-em dla mojego mikokontrolera i mojego IDE, i tym się cieszę na tą chwilę. Wielkie dzięki gaweł za zainteresowanie tematem :)

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1259
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: RTOS - kiedy powinno się go zacząć używać ?

Postautor: gaweł » poniedziałek 11 cze 2018, 20:52

StaryAnoda_NEW pisze:Wielkie dzięki gaweł za zainteresowanie tematem :)

Mnie zawsze interesują niezmiernie ważne sprawy, dla nich jestem w stanie poświęcić wszystko, a nawet więcej...

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
StaryAnoda_NEW
User
User
Posty: 103
Rejestracja: środa 04 kwie 2018, 16:48

Re: RTOS - kiedy powinno się go zacząć używać ?

Postautor: StaryAnoda_NEW » poniedziałek 11 cze 2018, 20:56

gaweł pisze:
StaryAnoda_NEW pisze:Wielkie dzięki gaweł za zainteresowanie tematem :)

Mnie zawsze interesują niezmiernie ważne sprawy, dla nich jestem w stanie poświęcić wszystko, a nawet więcej...

Mocne i poważne słowa.

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1259
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: RTOS - kiedy powinno się go zacząć używać ?

Postautor: gaweł » wtorek 12 cze 2018, 09:23

StaryAnoda_NEW pisze:Mocne i poważne słowa.

Są sprawy nieistotne, ważne i najważniejsze, takie z górnej półki. Dla nich poświęcę swoją uwagę i energię nawet jeżeli będzie to gonienie wiatru w polu.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse

Awatar użytkownika
dambo
Expert
Expert
Posty: 645
Rejestracja: czwartek 17 mar 2016, 17:12

Re: RTOS - kiedy powinno się go zacząć używać ?

Postautor: dambo » środa 13 cze 2018, 00:01

pochwalisz się potem projektem z omówieniem jak wykorzystałeś w nim RTOSa?
Nowy blog o tematyce embedded -> https://www.embedownik.pl/

Awatar użytkownika
StaryAnoda_NEW
User
User
Posty: 103
Rejestracja: środa 04 kwie 2018, 16:48

Re: RTOS - kiedy powinno się go zacząć używać ?

Postautor: StaryAnoda_NEW » środa 13 cze 2018, 06:42

Pochwalę pewnie fajnie, że jest zainteresowanie w temacie ale dopiero jak zaczną się wakacje :)


Wróć do „GNU/Linux”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 6 gości