-
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
- DS1813-10 się psuje
- Taki tam szkolny problem...
- LIR2032 a ML2032
- SmartWatch Multimetr bezprzewodowy
- olej psuje?
- Internet w lesie - Starlink
- Opis produktu z Aliexpress
- No proszę, a śmialiście się z hindusów.
- Zewnętrzne napięcie referencyjne LM385 1,2V -> 100mV dla ICL7106, Metex M-3800
- karta parkingowa
- Wl/Wyl (On/Off) bialy/niebieski
- I3C
- Pytanie o transformator do dzwonka
- międzymordzie USB 3.2 jako 2.0
- elektronicy powinni pomysleć o karierze elektryka
Najnowsze wątki
- 2024-11-24 Czy Sejm RP zahamuje proceder zabijania dla organów?
- 2024-11-24 Aby WKOOOORWIĆ ekofaszystów ;-)
- 2024-11-22 OC - podwyżka
- 2024-11-22 wyszedł z domu bez buta
- 2024-11-22 Bieda hud.
- 2024-11-24 DS1813-10 się psuje
- 2024-11-23 Białystok => Inżynier bezpieczeństwa aplikacji <=
- 2024-11-23 Szczecin => QA Engineer <=
- 2024-11-23 Warszawa => SEO Specialist (15-20h tygodniowo) <=
- 2024-11-22 Warszawa => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-11-22 Warszawa => Senior Account Manager <=
- 2024-11-22 Warszawa => Key Account Manager <=
- 2024-11-22 Warszawa => DevOps Specialist <=
- 2024-11-22 Kraków => IT Expert (Network Systems area) <=
- 2024-11-22 Warszawa => Infrastructure Automation Engineer <=