[elektro] Cortex M4 Interrupt, stack

Bali Zoltán eltexto at freemail.hu
Tue Apr 7 10:18:52 CEST 2015


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


  



More information about the Elektro mailing list