![Texas Instruments SimpleLink Ethernet MSP432E401Y Technical Reference Manual Download Page 613](http://html1.mh-extra.com/html/texas-instruments/simplelink-ethernet-msp432e401y/simplelink-ethernet-msp432e401y_technical-reference-manual_1095578613.webp)
Functional Description
613
SLAU723A – October 2017 – Revised October 2018
Copyright © 2017–2018, Texas Instruments Incorporated
Micro Direct Memory Access (µDMA)
8.3.8 Software Request
A transfer is initiated by software by first configuring and enabling the transfer, and then issuing a software
request using the DMA Channel Software Request (DMASWREQ) register. For software-based transfers,
the Auto transfer mode should be used.
It is possible to initiate a transfer on any available software channel using the DMASWREQ register. If a
request is initiated by software using a peripheral µDMA channel, then the completion interrupt occurs on
the interrupt vector for the peripheral instead of the software interrupt vector. Any peripheral channel may
be used for software requests as long as the corresponding peripheral is not using µDMA for data
transfer.
NOTE:
Channels designated in the table as only "Software" are dedicated software channels. When
only one software request is required in an application, dedicated software channels can be
used. If multiple software requests in code are required, then peripheral channel software
requests should be used for proper µDMA completion acknowledgment.
8.3.9 Interrupts and Errors
Depending on the peripheral, the µDMA can indicate transfer completion at the end of an entire transfer or
when a FIFO or buffer reaches a certain level (
and the individual peripheral chapters). When a
µDMA transfer is complete, a dma_done signal is sent to the peripheral that initiated the µDMA event.
Interrupts can be enabled within the peripheral to trigger on µDMA transfer completion. For more
information on peripheral µDMA interrupts, see the individual peripheral chapters. If the transfer uses the
software µDMA channel, then the completion interrupt occurs on the dedicated software µDMA interrupt
vector (see
If the µDMA controller encounters a bus or memory protection error as it attempts to perform a data
transfer, it disables the µDMA channel that caused the error and generates an interrupt on the µDMA error
interrupt vector. The processor can read the DMA Bus Error Clear (DMAERRCLR) register to determine if
an error is pending. The ERRCLR bit is set if an error occurred. The error can be cleared by writing a 1 to
the ERRCLR bit.
shows the dedicated interrupt assignments for the µDMA controller.
Table 8-5. µDMA Interrupt Assignments
Interrupt
Assignment
44
µDMA software channel transfer
45
µDMA error
8.4
Initialization and Configuration
8.4.1 Module Initialization
Before the µDMA controller can be used, it must be enabled in the System Control block and in the
peripheral. The location of the channel control structure must also be programmed.
The following steps should be performed one time during system initialization:
1. Enable the µDMA clock using the RCGCDMA register (see
2. Enable the µDMA controller by setting the MASTEREN bit of the DMA Configuration (DMACFG)
register.
3. Program the location of the channel control table by writing the base address of the table to the DMA
Channel Control Base Pointer (DMACTLBASE) register. The base address must be aligned on a 1024-
byte boundary.