I'm new to the MSP432, but not the MSP430 line of MCU's. I've recently started work using the uDMA on the MSP432 and I am, so far, extremely unimpressed with its speed. I understand that there is a latency with the FLASH operating at 48MHz, but should the uDMA -really- be taking 8 clock cycles to per transfer? The following code is my configuration:
MAP_DMA_setChannelControl(DMA_CH0_TIMERA0CCR0 | UDMA_PRI_SELECT, UDMA_SIZE_16 | UDMA_SRC_INC_16 | UDMA_DST_INC_NONE | UDMA_ARB_1024); MAP_DMA_setChannelTransfer(DMA_CH0_TIMERA0CCR0 | UDMA_PRI_SELECT, UDMA_MODE_AUTO, DataTest, (void*)&P5OUT, 1024);
The data in DataTest is a uint16_t and is a simple increment counter... 0, 1, 2, 3, etc. By measuring P5.0, I am able to see it toggling at a rate of 8 clocks per toggle, as the LSb in DataTest[] changes every other value, thus causing P5.0 to toggle every DMA transfer.
Is this correct or is there something wrong with my DMA code or implementation?