eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaprintf i wielozadaniowosc (MicroC/OS-II) › Re: printf i wielozadaniowosc (MicroC/OS-II)
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
    From: "Jan Kowalski" <c...@N...gazeta.pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: printf i wielozadaniowosc (MicroC/OS-II)
    Date: Wed, 30 Sep 2009 18:10:19 +0000 (UTC)
    Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
    Lines: 48
    Message-ID: <ha06ub$2gk$1@inews.gazeta.pl>
    References: <h...@p...onet.pl> <h9tc37$135h$1@news.mm.pl>
    <h...@p...onet.pl> <h9vmcj$4pm$1@atlantis.news.neostrada.pl>
    <h...@p...onet.pl>
    NNTP-Posting-Host: localhost
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: 8bit
    X-Trace: inews.gazeta.pl 1254334219 2580 172.20.26.234 (30 Sep 2009 18:10:19 GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Wed, 30 Sep 2009 18:10:19 +0000 (UTC)
    X-User: cloclo80
    X-Forwarded-For: 83.5.10.213
    X-Remote-IP: localhost
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:572311
    [ ukryj 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/

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: