25.7.3.9 Abort Trigger Source

There are two abort triggers which can terminate a block transfer, an event system trigger and a pattern match trigger.

The channel auxiliary event system trigger can be configured to provide an abort transfer trigger to the channel. Setting CHEVCTRLk.EVAUXIE=1 and CHEVCTRLk.EVAUXACT=0 or CHEVCTRLk.EVAUXACT=3 enables abort triggering. An event system abort takes effect on the rising edge of the event signal. The CHCTRLAk.ENABLE bit is cleared and all new trigger events are ignored. The channel will stop all new reads. Any reads already issued on the bus are completed normally. Pending writes complete without interruption. Any remaining data in the FIFO is written out to the destination as long as the DMA can honor the address/data alignment set by CHCTRLAk.WAS. Odd bytes remaining in the FIFO are discarded. When all activity concludes, the status bits in CHSTATk are cleared and the BC, CC, and TA interrupt flags in register CHINTFk are set.

The DMA also provides the ability to abort a block transfer on detection a data pattern match. If CHCTRKCk.PATEN=1, a data pattern match can issue an abort trigger to the channel. See Pattern Match Termination for more details on how the pattern match works. On a pattern match abort, the CHCTRLk.ENABLE bit clears and all new trigger events are ignored. The block transfer terminates after writing the matched pattern data to the destination. Data read after the pattern match is ignored. When all activity concludes, the status bits in CHSTATk are cleared and the BC, CC, and TA interrupt flags are set in register CHINTFk.