[elektro] Cortex M4 Interrupt, stack

Bali Zoltan eltexto at freemail.hu
Tue Apr 7 12:51:54 CEST 2015


>Szerintem küldj abort-ot a dma-nak, egyszerűbb.

Igen, ezt csináltam a Nuvotonnál, ott van RST
az állapot gépnek, de most át akartam térni
ST Cortexre, ott nincs semmi ilyenre lehetőség.
Ha leállítom(csak azt lehet), akkor utána még
önálló életet él az állapotgép. Gondolom a
transzfer vége az alaphelyzetbe kerülés feltétele,
meg pipeline érzésem van.
Vsz. maradok a Nuvnál a nyűgjeivel, de ott is fennállhat, hogy
a fontos magas prio esemény megszakítás alatt, ott
figyelhet a veremben egy normál félbehagyott
adc-dma transfer mexszakítás, ami ekkor már lényegében
értéktelen, el kellene dobnom, nehogy lefusson a maradék
része, amikor már itt felprogramoztam az ADC-t, DMA-t az új
feladatra.

De majd próbálkozok a stack manipulációval.

Köszi

Üdv.  Zoli



2015.04.07. 12:15 keltezéssel, Info írta:
> Szerintem küldj abort-ot a dma-nak, egyszerűbb.
> Halmozott lesz az IT verme, szóval arrébblökni
> egy keretnyi mérettel nem lesz kifizetődő :)
> Csak csere, pop vagy akármilyen módszerrel.
>
>> 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.
> -----------------------------------------
>            elektro[-flame|-etc]
>
>



More information about the Elektro mailing list