Mikrokontroller perifrik implementcija Renode emultor keretrendszerben

Renode egy ingyenes, nylt forrskd mikrokontroller emultor keretrendszer, mely lehetv teszi perifrik mikroprocesszorok, mikrovezrlk, evaluation-board-ok, illetve akr elosztott rendszerek emulcijt is. Ahhoz, hogy a tesztelni kvnt eszkzt vagy rendszert emullni tudjuk Renode alatt, szksges annak implementcija a Renode forrskdjban. Nagyon sok esetben ez mr rendelkezsnkre ll a gyrt vagy a kzssg ltal, azonban elkpzelhetek olyan esetek pldul, ha j vagy egyedi eszkzzel dolgozunk, hogy sajt magunknak kell ezt implementlnunk. A forrskd C# nyelven rhat az j perifrihoz. Minden perifria az gynevezett system bus-on keresztl elrt regisztereinek rsval, illetve olvassval vezrelhet. Ily mdon, hogy az emullt modellt elksztsk szksgnk van a vals eszkz adatlapjra, majd ez alapjn lthatunk neki az implementcinak. Miutn definiltuk a perifria sszes regisztert szksges ezek egyes mezinek a megvalstsa is. Ezt a kvetkez mdon tudjuk megtenni. Megadhatunk foglalt bitmezket a WithReservedBits kulcsszval, ahol az els argumentum a kezd bit pozcija, a msodik pedig a foglalt bitek szma. Flagek is implementlhatak a WithFlag kulcsszval, ahol meg kell adnunk a pozcit, a vltozt, amit ehhez a mezhz rendelnk, hogy olvassra vagy rsra hasznlhat a mez, vgl pedig a Flag nevt adhatjuk meg. Beregisztrlhatunk mg gynevezett lambda fggvnyeket is, melyek a mez olvassa, vagy rsa sorn hvdnak meg, specifikcitl fggen. A kvetkez mez tpus a WithTaggedFlag, amely csupn az adott pozci jellsre szolgl, hiszen az egyetlen kt argumentuma a neve s a pozcija. rtkmezk a WithValueField kifejezs kifejtsvel hozhatk ltre. Itt meg kell adnunk a pozcit, a mretet, a hozzrendelt vltozt, a mez nevt, valamint a lambda fggvnyt. Tulajdonkppen a Flag hasznlatval megegyez mdon, csak egynl tbb bit esetn is hasznlhat. Definilhatunk enumercikat is a WithEnumField kulcssz hasznlatval. Minden egyes perifrinak implementlnia kell a ReadDoubleWord s WriteDoubleWord publikus fggvnyeket, hiszen csak ezek meghvsval rhetk el a regisztereik. Ezen kvl megadhatunk tovbbi publikus fggvnyeket is, melyek meghvhatk a monitor nev szveges interfszen keresztl. Ezek a fggvnyek implementljk a perifria mkdst, illetve lehetv teszik az interakcijt a klvilggal. Erre plda a gombnyomst implementl, vagy az ADC egyik csatornjra feszltsget llt publikus fggvnyek. Kutats sorn szksges volt ily mdon az ADC, illetve egy hmrsklet mr szenzor implementlsa, valamint tovbbi perifrik mdostsa is, a vals mkds emullshoz.

Csata Dniel

2023-11-30

Tmogat: B. Braun Medical Kft.