[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