STM32 Shadow register

programski jeziki in programiranje

Moderator: tilz0R

STM32 Shadow register

OdgovorNapisal/-a aljazek » 21 Dec 2016, 12:04

Mi lahko kdo na 'kmečki' način razloži kakšen je pomen tako imenovanih ''shadow registrov'' pri STM32 krmilnikih(piše, da se vsebina preload registra prepiše vanj ob vsakem interrupt eventu)?
aljazek
 
Prispevkov: 24
Pridružen: 12 Sep 2015, 08:41
Kraj: Žalec/Celje/Maribor
Zahvalil se je: 4 krat
Prejel zahvalo: 1 krat
Uporabnika povabil: airwolf
Število neizkoriščenih povabil: 0

Re: STM32 Shadow register

OdgovorNapisal/-a s54mtb » 21 Dec 2016, 12:14

Registri v periferiji, ali v jedru? Kateri cortex? Če gre za sistemske registre, imaš kopijo za prekinitve. Na ARM7 je na voljo cela banka, pri cortexih pa le del nabora registrov. Uporabno je zaradi tega, ker je manj "overheada" pri izvajanju prekinitev. Shadow SP je tudi koristen za rtos. Na ta način lahko recimo ločiš sklad, ki je namenjen uporabniškem delu aplikacije in tistim, ki ga zase potrebuje rtos.
Zadnjič spremenil s54mtb, dne 21 Dec 2016, 12:16, skupaj popravljeno 1 krat.
s54mtb
 
Prispevkov: 7888
Pridružen: 15 Jan 2015, 01:10
Zahvalil se je: 1012 krat
Prejel zahvalo: 2521 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 46

Re: STM32 Shadow register

OdgovorNapisal/-a tilz0R » 21 Dec 2016, 12:16

Najlažje se ti to razloži na primeru timerja.

Recimo, da timer šteje do 100. Period register je nastavljen na 100.
Če je timer trenutno na 55, in ti nastaviš novo vrednost Period registra, recimo na 44, se event nebo nikoli zgodil, ker timer gleda "trenutna vrednost" == "nastavljena". Ker si jo prekoračil boš čakal na overflow samega registra, on bo pa naprej štel do onemoglosti.

Zato se vsak zapis timer period registra zapiše drugam, ter se skopira v glavni Period registeer ob resetu timerja (iz 100 na 0).
Knowledge sharing is people' caring., T. MAJERLE
Uporabniški avatar
tilz0R
 
Prispevkov: 1393
Pridružen: 18 Jan 2015, 00:12
Kraj: Črnomelj
Zahvalil se je: 182 krat
Prejel zahvalo: 341 krat
Uporabnika povabil: s56rga
Število neizkoriščenih povabil: 255

Re: STM32 Shadow register

OdgovorNapisal/-a s54mtb » 21 Dec 2016, 12:26

Gornji primer je za periferni shadow register, tu sem pa našel poglavje 10.2, kjer je malo bolj razloženo še na primeru shadow SP:
psp.JPG
s54mtb
 
Prispevkov: 7888
Pridružen: 15 Jan 2015, 01:10
Zahvalil se je: 1012 krat
Prejel zahvalo: 2521 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 46

Re: STM32 Shadow register

OdgovorNapisal/-a aljazek » 21 Dec 2016, 16:07

Hvala obema za odgovore. Sedaj mi je bolj jasno.
aljazek
 
Prispevkov: 24
Pridružen: 12 Sep 2015, 08:41
Kraj: Žalec/Celje/Maribor
Zahvalil se je: 4 krat
Prejel zahvalo: 1 krat
Uporabnika povabil: airwolf
Število neizkoriščenih povabil: 0


Vrni se na Software

Kdo je na strani

Po forumu brska: 0 registriranih uporabnikov in 1 gost