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);
Hello, Our sincere apologize for the delayed response. We found that there is a bug "adi_mdma_Copy1D" API By default both MSIZE and PSIZE value are 4 bytes. While calling "adi_mdma_Copy1D" API…
Can you please share us the project file to assist you better?
Thank you for responding.
I attach the project file.
I'm sorry dst addr in the code was invalid.
I fixed the bug but the result doesn't change.
Sorry for the delay. Somehow I missed this update, were you able to get going?
As I already uploaded the project, run it on the EZKIT and check the bug of the ADI peripheral driver (or system service) "adi_mdma_Copy1D".ADI should fix the bug or let me know a proper workaround.Regardsamsk
Moving to CrossCore Embedded Studio and Add-ins