SPRUJF2A March 2026 – March 2026 AM13E23019
The DMA controller supports dedicated DMA events. See the DMA Trigger section of the Event Manager for details on the DMA event trigger protocol. The idea is that the DMA can inform the event triggering peripheral about the status of the assigned DMA channel. This will allow the triggering peripheral to issue an interrupt itself after the completion of a repeated transfer, instead of the DMA issuing an interrupt event. The advantage is that the DMA interrupt service routine does not need to keep track of the assigned function of the channel and instead leaves that to the triggering peripheral's own interrupt service routine.
The DMA status sent to the triggering peripheral will reflect the value of the DMASZ register. If the last DMA transfer resulted in a size decrement to zero, the DMA will return the status of 1, indicating the end of the transfer. Otherwise the status will be 0.
Additionally, for FULL channels, the DMA module can generate an early interrupt request (IRQ) to the CPU to indicate that a transfer will complete within a configurable number of transfers (1, 2, 4, 8, 32, 64, half-DMASZ).
An early IRQ event is enabled by setting the DMAPREIRQ bits of the channel control register to the desired number of transfers. When the DMA has reached the number of transfers, the corresponding DMA channel’s PREIRQ interrupt is set.
Early DMA interrupt generation is useful to: