Hello,
We have an asynchronous device, a 16bit ADC connected to data lines and using RD and CS lines from EMIFA, conversion complete signal to GPIO that triggers EDMA event and we setup a transfer to DDR memory using EDMA3, it is supposed to transfer continuously 4 samples of 16bit of data. L1P cache is enabled, L1D disabled, and L2 is enabled and we are using SYS/BIOS to configure this module.
This setup works fine if I'm transferring into internal SRAM L1D or L2 , but whenever we try to use aligned DDR buffer, we can see that in a 4 samples transfer the 3rd 16bit data is not copied into the buffer or sometimes 1st and 2nd and so on. We are clearing the buffer with 0xFFFF and we can see data is not overwritten for a random number of this transfers. The SAM/DAM bits in the PaRAM option field are set to INCR, ACnt=2, BCnt=4, CCnt=sizeof(buffer), srcAddr=0x64000000(EMIFA). (corrected)
Basically the buffer looks like this:
sample1, sample2, sample3, sample4,
sample1, sample2, sample3, sample4,
sample1, sample2, 0xffff, sample4,
sample1, sample2, 0xffff, sample4,
sample1, sample2, 0xffff, sample4,
sample1, sample2, 0xffff, sample4,
sample1, sample2, sample3, sample4,
Any idea what's happening?
Thank you in advance,
David.