DAT
2.4 DAT
DAT Routines
DMA/EDMA Management
2-8
The DAT module, which stands for data, is used to move data around by
means of DMA/EDMA hardware. This module serves as a level of abstraction
such that it works the same for devices that have the DMA peripheral and de-
vices that have the EDMA peripheral. So if you write application code that uses
the DAT module, it is compatible across all current devices without worrying
about what type of DMA controller it has. The DAT module includes:
Constants
J
DAT_SUPPORT
Functions
J
DAT_Close
J
DAT_Copy
J
DAT_Fill
J
DAT_Open
J
DAT_Wait
J
DAT_Copy2D
The DAT module is intentionally kept simple. There are routines to copy data
from one location to another and to also fill a region of memory. These opera-
tions occur in the background on dedicated DMA hardware independent of the
CPU. Because of this asynchronous nature, there is API support that enables
waiting until a given copy/fill operation completes. It works like this: call one of
the copy/fill functions and get an ID number as a return value. Then use this
ID number later on to wait for the operation to complete. This allows the opera-
tion to be submitted and performed in the background while the CPU performs
other tasks in the foreground. Then as needed, the CPU may block on comple-
tion of the operation before moving on.
Since the DAT module uses the DMA/EDMA peripheral, it must do so in a man-
aged way. In other words, it must not use a DMA channel that is already allo-
cated by the application. To ensure this doesn't happen, the DAT module must
be opened before use, this is accomplished using the DAT_Open() API func-
tion. Opening the DAT module allocates a DMA channel for exclusive use. If
the module is no longer needed, the DMA resource may be freed up by closing
the DAT module, i.e. DAT_Close().
Need help?
Do you have a question about the TMS320C6000 and is the answer not in the manual?