[elektro] Cortex M4 Interrupt, stack

elight elight at gmail.hu
Tue Apr 7 12:13:31 CEST 2015


Szia Zoli

Még el se jutott a tudatomig
konkrétan mit is szeretnél és azt hogyan..

Szerintem ha ilyen bonyolult a manipuláció
és nem biztos a kimenetele..
akkor én rögtön olyan kerülő alternatívát keresnék,
amelyet egyértelműbb megvalósítani.
Pl valami hardveres átkapcsolót
vagy egy más típusú folyamatvezérlést
is kigondolnék, azzal is  próbálkoznék.
Mindezt a gyorsabb , stabilabb eredmény érdekében.
Csak nagy szériáknál érdemes egy algoritmust
( az első kézenfekvőt ) csiszolgatni a végletekig.
Előbb utóbb az ilyen trükköknél  bejön az
"Ezekután hogyan tesztelem  le ezt 100%-osan? "
  kérdés is!
Üdv István



2015-04-07 10:18 keltezéssel, Bali Zoltán írta:
> Hali!
>
> Van egy  DMA csatorna interupt-al. Alap esetben
> megy az ADC 6 csatornájának a mentése ezzel
> a DMA csatornával. Egy eseménykor, aminek a
> legmagasabb prioritású interruptja van,  át kell
> programozni az ADC-t két csatornára és a DMA-t
> félbe szakítania, majd azt is az ADC két csatornához,
> meg más célterületre felprogramozni. Eközben még fenn
> állhat az alap eset szerinti, a magas prioritás miatt
> félbeszakított alap DMA interrupt, amire nincs szükség, sőt
> zavaró és komlpkálja a kezelést.
>
> Ki lehet ezt a magas prioritású it futásakor szedni
> valahogy stack manipulációval? Gondoltam valami POP-PUSH
> kombinációval, de nem látom át hirtelen a bukatókat.
> Ki kellene a futó IT exc. frame-jét szedni és menteni, majd az alatta
> levő exc. framet is persze csak beazaonosítás után, végül visszapakolni a mentett
> frame-et. Működhet ez? Vajon mennyi időmbe kerülhet ez?
> Vagy, egy frame memcpy a stacken lefele, gondolom a frame méret állandó,
> aztán a stack pointert arra állítani. Talán gyorsabb mint a push-pop.
>
> Köszi
>
> Üdv.  Zoli
>
>
>    
>
> -----------------------------------------
>            elektro[-flame|-etc]
>



More information about the Elektro mailing list