I am using the DMA1 for the C28379D and it seems to work file. However, when I change the src address to CMPSS (srcAddr = 0x00005C80U + 2U;) the DMA always read 0 !!!
When the dma completes it generates an Interrupt.
This is the code for the DMA initialisation:
void initDMA()
{
//
// Refer to dma.c for the descriptions of the following functions.
//
//
//Initialize DMA
//
DMA_initController();
//
// configure DMA CH1
//
DMA_configAddresses(DMA_CH1_BASE, destAddr, srcAddr);
DMA_configBurst(DMA_CH1_BASE,BURST,0,1); // DMA_configBurst(DMA_CH1_BASE,BURST,1,1);
DMA_configTransfer(DMA_CH1_BASE,TRANSFER,0,1); // make sure you change this to 0,1 for reading from one location at the source!!
DMA_configMode(DMA_CH1_BASE,DMA_TRIGGER_EPWM2SOCA, DMA_CFG_ONESHOT_DISABLE | DMA_CFG_CONTINUOUS_ENABLE |DMA_CFG_SIZE_16BIT);
DMA_setInterruptMode(DMA_CH1_BASE,DMA_INT_AT_END);
DMA_enableTrigger(DMA_CH1_BASE);
DMA_enableInterrupt(DMA_CH1_BASE);
SysCtl_selectSecMaster(SYSCTL_SEC_MASTER_DMA, SYSCTL_SEC_MASTER_DMA);
}
Not sure what I am missing !!
Cheers
Naim