-
Data: 2009-09-30 20:28:39
Temat: Re: printf i wielozadaniowosc (MicroC/OS-II)
Od: Jerry1111 <j...@w...pl.pl.wp> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Pszemol wrote:
> "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 :-)
Kurcze, nie widze tego. Ale nie widze tez swojej odpowiedzi z wczoraj -
ciekawe czemu.
> 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.
;-)
>> Od siebie dorzucę tylko pytanie: czy ten system gwarantuje ci,
>> że jak bufor RSa będzie wolny to w pierwszej kolejności dobierze się
>> do niego wątek o najwyższym priorytecie?
Bylo o tym w ksiazce, ale kniga w robocie.
>> A może kto pierwszy ten lepszy?
>
> Ten RT system miał mi gwarantować, że w danym momencie czasu
> wykonuje się ten task spośród tasków gotowych do działania który
> ma najwyższy priorytet. Ten warunek dotyczy zarówno typowego
> reschedulingu (funkcja OS_Sched()) jak i reschedulingu po
> zakończeniu obsługi przerwania. Na stronie 104 tej samej ksiązki:
> "The conclusion of the ISR is marked by calling OSIntExit(), which
> decrements the interrupt nesting counter.
Zaciekawilo mnie (bo ja wiem ze Nios czasem przerywa sobie printfy - mi
to nie przeszkadza) czemu tak sie dzieje. Popatrzylem na zrodla drivera
uart w Nios 9.0 i tam nie ma OSIntExit pod koniec
altera_avalon_uart_rxirq().
> A więc wciąż nie rozumiem dlaczego w momencie gdy przyszło
> przerwanie od portu szeregowego (bo tylko w taki sposób mogło
> się zwolnić miejsce w buforze portu) funkcja obsługi przerwania
> RS232 nie obudziła tasku 0 który czeka na to miejsce i scheduler
> zawołał mi do tablicy task 4 lub task 7 zamiast wrócić do tasku 0.
>
> To jest właśnie cała zagadka o której próbuję tu podyskutować :-)
;-)
Jak Ci sie chce to przesledz krok po kroku co fprintf wyczynia i szukaj
podejrzanych miejsc. Z doswiadczenia z wczesniejszych wersji - drivery
Altery sa niestety troche dodupne jesli chodzi o RTOS.
Aha, ja uzywam fifoed_avalon_uart zamiast oryginala - duzo mniejszy bol
glowy.
--
Jerry1111
Następne wpisy z tego wątku
- 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
- ładowarka zmarła
- Podstawa bezpiecznikowa jako rozłącznik DC
- Napięcie akumulatora wyłączające UPS / jakie nowe akumulatory do UPS?
- nawigacja satelitarna
- SmartLife/Tuya i osuszanie -- mordowanie z zimną krwią...
- Głośnik piezoelektryczny
- Mala autonomiczna kamera monitoringu
- czas na emeryturę i EB
- Generowanie sumy kontrolnej z fragmentu pliku bin
- Re: Mala autonomiczna kamera monitoringu
- HDMI
- Re: Mala autonomiczna kamera monitoringu
- Kamera monitoringu z kartą SIM
- Re: Kamera monitoringu z kartą SIM
- Re: Kamera monitoringu z kartą SIM
Najnowsze wątki
- 2024-07-01 W-wa naklejki wjazd do centrum
- 2024-07-01 ładowarka zmarła
- 2024-07-01 Koder szuka pracy. Koduję w j.: Asembler, C, C++ (z Qt) i D.
- 2024-07-01 Kraków => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-07-01 Białystok => Full Stack Web Developer (.Net Core, Angular6+) <=
- 2024-07-01 Berlin => Technical Rollouter (Radio Systems Software Installation and
- 2024-07-01 Warszawa => Key Account Manager <=
- 2024-07-01 Gdańsk => Programista Full Stack .Net <=
- 2024-07-01 Zabrze => Junior HelpDesk <=
- 2024-07-01 Warszawa => Key Account Manager <=
- 2024-07-01 Bielsko-Biała => Expert Migration Architect (Azure) <=
- 2024-07-01 Mini Netykieta polskich grup dyskusyjnych
- 2024-07-01 Re: Jak wypełnić polecenie francuskiego sądu blokowania niektórych zapytań DNS? Blokując Francję
- 2024-07-01 Re: Powtórne wezwanie na PO-komisję uzdrowi Ziobrę już w 10 dni
- 2024-07-01 CA -- problem z logowaniem