RTOS

Rancz Lajos csiga at fosch.com
Mon Sep 10 14:13:35 CEST 2007


Helló!

Fuzesi Arnold wrote:
> Jogos. Piszok nagy lenne az overhead... :)
> Monitor resze (ha van) az OS-nek nem csinal stack kihasznaltsag elemzest?
> Vízjelesdivel szépen megoldható lenne...
> Piszok gyorsan elfogy így a ram, ha az ember nagyvonaluan osztogatja a 
> stack-et.
>   
Hát nem kell nagyvonalúan, csak körbe kell nézni az IAR által generált 
listafájlokban, hogy mi a hívási mélység, és mekkora a lokális változók 
mérete. Az kiadja a két stack méretét :-)
> Kézzel jtag-al nézegetni meg kicsit fapados hogy melyik stack meddig lett 
> "összepocsékolva"... :)
>   
Hát monitor sajnos nincs benne, de bármikor megoldható elvileg ha az 
"idle" taszkva beleteszel egy figyelést
> Mega2560 a data területet ugyan úgy 16 bitesen címzi mint a többi avr nem, 
> miben más a stack kezelés?
> Nem értem...
> Jahogy a return address stack...
> Nezegetem, a mega2560-nak van plusszban EICALL, EIJMP utasitasa pl a 
> mega128-hoz kepest...hm.
> Jahogy word-ösen értendők a címek...aham....ezert nem kell a m128-hoz.
> Ha jol latom m128-nal akkor nem kell semmit molyolni, azzal menne egyből az 
> OS. Jól látom?
>   
Sztem nem. Mivel a 128k az nem fér bele két bájtba, ezért sztem bele 
kell nyúlni a port.c-be, de csak két helyen.
> Rendes kulturalt semaphore megoldasa van amúgy?
> Deadlock stb eliminálásával meg minden? (várakozó taszk felhúzza amire 
> várakozik taszkot a sajat prioritására?)
>   
Ezt nem értem :-) A várakozó taszk elmegy aludni, addig amíg vár, addig 
a többi taszk fut, de mindenki a saját proiritásán, de a várakozó taszk 
processz idejét feloszlik a prioritások arányában a többi közt.
> Interruptok is taszkként futnak? Gondolom igen, mert ha nem, akkor nem 
> beszelhetünk RTOS-ről...
>   
Nem, az interruptok interruptként futnak, nem taszkként. Sztem ez kicsit 
jobb megoldás mint külön taszkként. RT Linuxban (Xenomai) használtam 
IRQ-t taszkként, hát nem voltam tőle hasra esve. Pont a realtime jellege 
veszett el, az átlagos válaszidő 4-5 us volt(!!) de ez néha felment 4-5 
százra is :(
> Vagy megkötés van az interruptok futásidejére és csókolom?
>   
Nincs megkötés, de ezt alapvetően nem így kell megoldani. Elvileg az 
interrupt arra való, hogy az adatokat begyűjtsd vagy vmi nagyon egyszerű 
logikát megoldj. Pl. egy ADC IT a digitalizált adatokat belenyomja egy 
queue-ba és egy realtime taszk pedig feldolgozza.
> Pfú, sok a nyitott kérdés hogy egészében lássam.
> Nnna, holnap, holnaputan belemélyedek rendesen. Addig befejezek vmit....
>
> A.
>   
Üdv,
Lajos



More information about the Elektro mailing list