-
Data: 2009-09-30 18:10:19
Temat: Re: printf i wielozadaniowosc (MicroC/OS-II)
Od: "Jan Kowalski" <c...@N...gazeta.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Pszemol <P...@P...com> napisał(a):
> "Zbych" <a...@o...pl> wrote in message
> news:h9vmcj$4pm$1@atlantis.news.neostrada.pl...
> > Pszemol pisze:
> >
> >> To jest oczywista oczywistość, że wątek o priorytecie 1 czeka na port
> >> RS i oddaje sterowanie :-) Mnie interesuje jak to się dzieje, że w czasie
> >> gdy task 1 oddał sterowanie task 4 lub 7 był wstanie trzy razy wysłać
> >> linię znaków do RS'a trzema osobnymi wywołaniami fprintfa...
> >
> > Ktoś na pme podpowiedział ci, żebyś sprawdził, czy prawidłowo
> > ustawiłeś priorytety wątków.
>
> Nie do końca - on nazwał mnie debilem :-) i zarzucił że task o priorytecie
> zero jest najmniej ważnym taskiem w systemie i z tego powodu - to co
> obserwuję jest jak najbardziej naturalne. Zdemaskował tym w bardzo
> niekulturalny sposób swój brak zaznajomienia z systemem MicroC/OS-II.
>
> W książce autorstwa Jean J. Labrosse "MicroC/OS-II" wydanie
> drugie z 2002 roku stoi na stronie 88 jak byk:
> "Each task is assigned a unique priority level between 0 and
> OS_LOWEST_PRIO, inclusive (see OS_CFG.H). Task priority
> OS_LOWEST_PRIO is always assigned to the idle task when
> uC/OS-II is initialized."
Czy ci się to podoba czy nie problem może wynikać z odwrotnej interpretacji
numeru(!) priorytetów. To prawda, że w książce znajduje się taki cytat, ale
musisz sprawdzić, wręcz w kodach źródłowych, jak jest wybierany następny task
do uruchomienia.
Dla pewnego systemu mam do wyboru albo MicroC/OS albo RTOS firmowy. Kernel
RTOSa firmowego szereguje taski wg. rosnących priorytetów tj. task 60 wykona
się przed taskiem 41. Wg. logiki MicroC/OS powinno być dokładnie na odwrót
task 41 przed taskiem 60. Niemniej kod aplikacji w żadnym miejscu nie zawiera
translacji priorytetów (wg. logiki MicroC/OS przy 64 taskach task 60 powinien
dostać priorytet 4, a task 41 priorytet 23) tak aby dopasować się do
MicroC/OS. Tak więc, albo używasz książki niekompatybilnej z wersją kodu
źródłowego, albo facet sam nie wie co pisze.
Odszukaj scheduler i sprawdź jak jest naprawdę. To może być kwestia zamiany
operatów "<" i ">" w czasie klepania kodu shedulera a system będzie się
zachowywać totalnie niezgodnie z oczekiwaniami. MicroC/OS jest raczej prostym
systemem i nie ma powodu dla którego miałoby się mu mieszać w opisywany przez
ciebie sposób.
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Następne wpisy z tego wątku
- 30.09.09 18:43 Pszemol
- 30.09.09 20:28 Jerry1111
- 30.09.09 20:35 DJ
- 30.09.09 21:09 Pszemol
- 30.09.09 21:15 Pszemol
- 30.09.09 21:58 Jerry1111
- 02.10.09 06:11 Artur M. Piwko
- 13.10.09 21:06 AK
- 13.10.09 21:34 Jerry1111
- 13.10.09 21:47 Pszemol
- 19.10.09 22:31 Pszemol
- 21.10.09 20:18 Jerry1111
Najnowsze wątki z tej grupy
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
- Wyświtlacz ramki cyfrowej
- bateria na żądanie
- pradnica krokowa
- Nieustający podziw...
- Coś dusi.
- akumulator napięcie 12.0v
- Podłączenie DMA 8257 do 8085
- pozew za naprawę sprzętu na youtube
- gasik
- Zbieranie danych przez www
- reverse engineering i dodawanie elementów do istniejących zamkniętych produktów- legalne?
Najnowsze wątki
- 2025-01-27 OT musk
- 2025-01-27 Bydgoszcz => Specjalista ds. Sprzedaży (transport drogowy) <=
- 2025-01-27 Warszawa => Java Developer <=
- 2025-01-27 Warszawa => Data Engineer (Tech Lead) <=
- 2025-01-27 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-27 Kto ma PRAWNĄ rację? poseł KO mec. R. Giertych v. mec. B. Lewandowski
- 2025-01-27 Gliwice => IT Expert (Network Systems area) <=
- 2025-01-27 Koszyk okrągły, walec 3x AA, na duże paluszki R6
- 2025-01-27 Warszawa => QA Engineer <=
- 2025-01-27 Warszawa => Analityk Biznesowo-Systemowy <=
- 2025-01-27 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-01-27 Bieruń => Team Lead / Tribe Lead FrontEnd <=
- 2025-01-27 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-01-27 Kraków => User Experience Designer <=
- 2025-01-27 Kraków => iOS Developer (Swift experience) <=