[elektro] RTOS kerdes

Rancz Lajos csiga at fosch.com
Wed May 28 09:40:40 CEST 2008


Szia!

sw timer: Ennél mire gondolsz? A freeRTOS adott ideig tudja altatni a 
taskot az xTaskDelay fv. hívással.
A lényeg az, hogy az egyes részfeladatok (pl. felhasználói felület, vmi 
fix állapotgépes viselkedés) taszkokban fussanak. A taszkokat kiszlgáló 
driverek "sima" függvények figyelembe véve, hogy a közös erőforrásokat 
védeni kell, tehát pl. a SD/MMC kártya kezeléskor a SDMMCRead fv.-nek 
blokkolódnia kell ha egy másik taszk akutálisan használja a kártyát. 
Maguk a taszkok freeRTOS alatt egyszerű fv.-ek amik végtelen ciklusban 
futnak. Tehát a taszk elején van vmi inicializálás aztán egy while (1) 
{...}.
Az egész úgy néz ki, hogy minden függvényt, libet ésatöbbit 
összelinkeled egy állományba. A main() inicializálja a hardvert, a 
freeRTOS-t, majd következik a n számú taszkhoz n xTaskCreate hívás, majd 
egy vTaskStartScheduler hívás ami indítja ez egészet és itt véget is ér 
a main. :-)

Üdv,
Lajos

Fuzesi Arnold írta:
> sw Timer-eket hogyan celszeru csinalni?!
>
> Kulon task durva erre...
> A coroutine pont erre valo ennel a cuccnal?!
> Task eroforrasaibol fut, de parhuzamosan vele?!
>
> Illetve ha pl nezunk egy FAT kezelest...
> f_open, f_printf, f_close  muvelet akarok vegrehajtani egyik task-bol.
>
> A fenti fuggvenyeket hogyan hivom meg?
>
> Ezek szinten mint task-ok fussanak vagy ha csak 1 taskbol hasznalom akkor
> egyszeruen legyen resze a FAT kezeles az adott task forrasainak és kész,
> sima fuggvenyhivas taszkon belul (linkeljem össze magyarul?)
>
> Ha több task-bol szeretnem elerni akkor mivan!?
> Az egesz FAT kezeles legyen egy task, a kulonbozo fuggvenyei a processek
> (co-rutinok) amit semaphorozva kizarok egymastol...illetve ezeket lehet nem
> is kell szemaforozni mert a process a  task valtozokat latja mind...
>
> Hogyisvanez? :)
>
> Fu, eleg ködös ez még... :-/
>
> Köszi,
> A.
> ----- Original Message ----- 
> From: "Rancz Lajos" <csiga at fosch.com>
> To: <elektro at tesla.hu>
> Sent: 2008. május 27. 14:09
> Subject: Re: [elektro] RTOS kerdes
>
>
> Helló!
>
> Sztem tök korrekt, több projektben is használtam már. ATmega-án 64k
> (ATmega128, ATmega2560) feletti címzésnél volt vele gond, kicsit bele
> kellett nyúlni. Az azért elmond vmit, hogy a AVR32 frameworkben az RTOS
> az ez :-) Ott megnézheted a driver megvalósítást is, ugyanis egy rakat
> driver meg van már csinálva :-) Amúgyí mutex kell erre az esetre.
>
> Üdv,
> Lajos
>
> Fuzesi Arnold írta:
>   
>> Igen, az... :)
>>
>> Tapasztalat, ellenjavallat van? Korrekt cucc? (Annak nez ki...)
>>
>> Driveren?! Olyan progi részleteket amit több taszkból is el kell tudjak
>> érni...okosan kizárva az egyidejű hozzáférést stb.
>> TCP/IP stack, SD kartya kezeles FAT stb. ilyesmit.
>>
>> Arnold
>> ----- Original Message ----- 
>> From: "Rancz Lajos" <csiga at fosch.com>
>> To: <elektro at tesla.hu>
>> Sent: 2008. május 27. 13:34
>> Subject: Re: [elektro] RTOS kerdes
>>
>>
>> Helló!
>>
>> Az elnevezésekből gondolom FreeRTOS lesz az áldozat :-) Sztem ez a
>> co-rutin igazából az ő találmányuk, nem nagyon láttam ilyesmit máshol.
>> Alapvetően process-t és threadet szoktak megkülönböztetni, az alapvető
>> különbség, hogy a processeknek külön, egymástól védett memóriaterületei
>> vannak, míg a szálaknak nem (ugyanazon processek szálai elérik egymás
>> változóit). Ahogy emlékszem a co-rution az vmiféle butított task, közös
>> stackkel. Driveren mit értesz? IRQ-k queue-kon keresztül kommunikálnak a
>> szálakkal, van erre spec. függvény, ami leehtővé teszi ezt.
>>
>> Üdv,
>> Lajos
>>
>> Fuzesi Arnold írta:
>>
>>     
>>> Mi is a kulonbseg co-routine es a task kozott pontosan?!
>>> Piszokul elfelejtettem :-(
>>> Jegyzeteim meg otthon, neten meg "halandzsát" találtam csak hirtelen.
>>>
>>> Illetve ha drivert (pl TCP/IP, SDcard / FAT stb) akarok egy RTOS ala
>>> csempészni akkor azt hogy szokás?!
>>>
>>> Sima Task-kent beteszem és kész...agyonszemaforozva hogy egyszerre csak
>>> egy
>>> masik task tudja elerni, vagy maskepp illik ezt?!
>>> Queue-n keresztül? Hogy is csinaljak a nagyok?
>>>
>>> uC-ről beszélünk, elég végesek az erőforrások..
>>>
>>> Köszi,
>>> Arnold
>>>
>>> -----------------------------------------
>>>           elektro[-flame|-etc]
>>>
>>>
>>>       
>> -----------------------------------------
>>           elektro[-flame|-etc]
>>
>> -----------------------------------------
>>           elektro[-flame|-etc]
>>
>>     
>
> -----------------------------------------
>           elektro[-flame|-etc]
>
> -----------------------------------------
>           elektro[-flame|-etc]
>   



More information about the Elektro mailing list