[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