SPRUJF2A March 2026 – March 2026 AM13E23019
Each DMA channel has its own raw interrupt status (RIS) flag. Each RIS flag is set in any mode when the corresponding DMASZ register counts to zero. If the corresponding interrupt mask (MASK) and RIS bits are set, an interrupt request is generated.
All RIS flags are prioritized, with DMA0 being the highest, and combined to source a single interrupt vector. The highest-priority enabled interrupt generates a number in the interrupt index (IIDX) register. This number can be evaluated or added to the program counter (PC) to automatically enter the appropriate software routine.
Any access, read or write, of the IIDX register automatically resets the highest pending interrupt flag. If another interrupt flag is set, another interrupt is immediately generated after servicing the initial interrupt. For example, assume that DMA0 has the highest priority. If the DMA0-RIS and DMA2-RIS flags are set when the interrupt service routine accesses the IIDX register, DMA0-RIS is reset automatically. After the interrupt service routine is executed, the DMA2-RIS generates another interrupt which can then be serviced.