Witam, kozysta ktos z tego RTOS'a? Mam pytanie czy jak sie powiesi (zapetli) jakis proces to zwisa wszystko???
[avr-gcc] NutOS
Oct 16, 2004
7 Replies
Tak.
Tak, ponieważ Nut/OS używa cooperative multitasking. Czyli jeśli wątek/zadanie dobrowolnie co jakiś czas "nie odda procesora" systemowi, to pozostałe wątki/zadania "będą" wisieć. Mówiąc inaczej, koder co jakiś czas musi jawnie zawołać funkcję NutThreadYield().
Regards, /J.D.
Mam przed oczami prosty przyklad z 3 watkami i kazdy z nich ma jakies procedury w nieskonczonej petli for(;;){} to jak to jest ...
Ano tak to jest że powinno tam gdzieś być wywołanie w/w funkcji, np. gdzieś na końcu pętli:
for (;;) { /* * tutaj coś się robi */
NutThreadYield(); }
Należy też dodać że wywołanie niektórych funkcji systemowych również może spowodować przełączenie kontekstu. Np. w powyższym przykładzie zamiast NutThreadYield() mógłbyś użyć NutSleep(ilość_milisekund).
Regards, /J.D.
i wszysto jasne ... Chcialem sobie skompilowac prosty programik obslugujacy UART, zaladowalem i nie dziala. Jak debugowac to w avrsrudio? Chyba musze skrecic jakiegos jtaga :(
Nie mam pojęcia - nigdy nie używałem AVR-ów a tym bardziej AVRstudio. :-)
No AVRy mają jakiś interfejs ISP ale to zdaje się nie jest JTAG. No chyba że mówiąc JTAG miałeś na myśli kawałek płytki z HC244 służącej do podłączenia AVR-a z pecetem. :-)
Regards, /J.D.
Niektore AVR-y maja JTAG np.ATMega128
ps. ostatnio ktos sie chwalil nawet ze sobie zmontowal jtaga pozdr sobol
bodajże od ATmega16 w górę to już standard
wiesz, jeśli komuś potrzebny tylko do programowania pamięci, a nie do debugowania, to wystarczy
formatting link
w.
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required