Fórum témák

» Több friss téma
Fórum » PIC FreeRTOS Hogyanok...
 
Témaindító: ciw, idő: Márc 19, 2008
Lapozás: OK   3 / 3
(#) icserny válasza benjami hozzászólására (») Jan 1, 2009 /
 
Idézet:
„Pedig ott van a példában.”

Jaj, ennyire ne becsüld túl a képességeimet! Csak futólag néztem bele a kódba, így nem sokat fogtam még fel belőle...
Idézet:

A verem 0..7 szintje az 1. taszké, a 8..15 szint a 2. taszké és így tovább.”

Négy taszknál még elmegy, de 16 vagy 64 taszk esetén már nem járható ez az út. Ha jól látom, a uC/OS-II-ben taszkváltáskor elmentik, illetve visszaállítják a teljes hw stack-et. Ennek nyilván meg kell fizetni az árát...
(#) benjami válasza icserny hozzászólására (») Jan 2, 2009 /
 
Idézet:
„Négy taszknál még elmegy, de 16 vagy 64 taszk esetén már nem járható ez az út.”

Egy mezei 18f-es PIC-el ne akarj 16, pláne 64 taszkot futtatni. A 4-5 taszk még megoldható, ha ennél több kell válassz 16 vagy 32 bites procit. Ha belegondolsz a PIC16-os sorozatnak csak 8 mélységű verme van.
(#) icserny válasza benjami hozzászólására (») Jan 2, 2009 /
 
Idézet:
„Egy mezei 18f-es PIC-el ne akarj 16, pláne 64 taszkot futtatni. A 4-5 taszk még megoldható...”

Azért a PIC18F97J60 vagy PIC18F87J50 esetében ezt túl erős megkötésnek érzem.
(#) benjami válasza icserny hozzászólására (») Jan 2, 2009 /
 
Ok. akkor számoljunk egy kicsit. Legyen csak 16 taszk. Ha a programod mérete nem haladja meg a 64kByte-ot (32kSzó) akkor veremszintenként csak 2 byte, egy teljes verem mérete 62 byte. Ezt 16-al szorozva 992 byte-ot kapunk, ami csak a verem mentegetéséhez és visszaállításához szükséges. Mondjuk itt is lehet kötni olyan kompromisszumot, hogy 4 taszkot berakunk egy verembe, és csak akkor mentünk vermet mikor a 4->5, 8->9, 12->13 és 16->1 közötti taszkváltás történik. Ezáltal már 16 taszk esetén is csak 4*62=248 byte kell a verem mentéséhez. Mondjuk a nagyobb probléma C nyelv esetén lenne ahol a szoftver verem fogyna el igen hamar.
Következő: »»   3 / 3
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu