I tested EE-401 "SC58x_MDMA_Throughput" with the following settings on ADZS-SC584-EZLITE. 1) MDMA2 2) SYSCLK = 225 MHz 3) DMA count = 16384 bytes 4) MSIZE = 32 5) PSIZE = 4 6) from C1L1S1 to C1L1S1
The measured throughput is 893.9 MB/s.
I changed the code to use the DMA Service "adi_mdma_Copy1D" instead of "MDMA_CONFIG".The throughput is degraded to 224.7 MB/s.Does the DMA Service support maximum theoretical throughput?
I think it is caused by setting DMA_CFG.PSIZE=0 and DMA_CFG.EN=1 simultaneously in the DMA service (MDmaUpdateXferStatus()).I modified the code as shown below, the throughput changed to 895.6 MB/s.====before: adi_mdma_Copy1D(hStream, pMemDest, pMemSrc, ADI_DMA_MSIZE_32BYTES, Bytes/32);after: adi_mdma_Copy1D(hStream, pMemDest, pMemSrc, 0x520, Bytes/32);