[avr-gcc] NutOS

Oct 16, 2004 7 Replies

Witam, kozysta ktos z tego RTOS'a? Mam pytanie czy jak sie powiesi (zapetli) jakis proces to zwisa wszystko???


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