While the DMA Controller can be triggered by software requests, typically it is started by a signal from the Interrupt Control Unit generated by a peripheral. Configuring a hardware interrupt source to trigger the DMAC is very similar to configuring the interrupt for normal use. The user will need to set the local enables in the peripheral, plus the interrupt priority level and interrupt enable registers for the source in the ICU. In addition, each DMA channel has a DMA Activation Source Select Register in the ICU. Each register contains the vector number of the interrupt source that is to trigger the corresponding DMA channel. Check the hardware manual for specifics of which peripheral interrupts are capable of being routed to DMA requests. The DMAC can also generate interrupts to the ICU to signal DMA events and exceptions to the CPU core. Interrupts can fire at each transfer, at the completion of each repeat or block or at the end of the DMA transfer. Interrupts generated by the DMAC are enable by bits in the DMINT register. See the hardware manual for complete details.