Hi,
I'm using the EDMA to move data from an FPGA into L2 SRAM. The FPGA is connected to the EMIFA using 32 Bits. The EDMA is synchronized by a GPIO pin. For each DMA event, 512 bytes of data are moved. The entire EDMA transfer consists of many events.
Under normal conditions, packets are read by the DSP without interruptions and I can measure a delay between the rising edge of the GPIO and the first read cycle of less than 100ns.
In my program, there is some arbitrary code which manipulates data in DDR2. If this code executes, the EDMA seems to stall for a long time, sometimes for hundrets of us.
The problem goes away if the destination for the EDMA is changed to DDR3. This suggests that the problem is located within the Megamodule. I already tried to change priorities of the EDMA and the Bandwidth Arbitration Registers, but without success.
Any help is appreciated.
Ralf