Hi
I am trying to make my C6713 DSP transfer a small block of data from its internal RAM to an FPGA that is connected via the External memory interface using an EDMA transfer.
I have previously used a QDMA transfer to copy the data from DSP to a FIFO in the same FPGA, but now I would like to remove the FIFO implementation and copy the data to a RAM block in the FPGA instead.
The QDMA used to be configured in the following way
EDMA_Config RIHighSpeedOutQDMA = {
0x2900000, /* Option DUM = NONE */
(Uint32) &stHighSpeedRiDspOut, /* Source Address - Data structure in L2RAM */
0x00000000, /* Transfer Counter - Numeric This is setup later*/
(Uint32) FPGA_RIDSP_HS_DATA_OUT_FIFO_ADDR, /* Destination Address - FIFO in FPGA addr = 0xB0000100*/
0x00000000, /* Index register - Numeric */
0x00000000 /* Element Count Reload and Link Address */
};
void cslCfgInit()/* called from main*/
{
RIHighSpeedOutQDMA.cnt = EDMA_CNT_RMK(0,sizeof(stHighSpeedRiDspOut)/sizeof(uint16)); /* Set the number of words to transfer */
}
myPeriodicFunction()
{
EDMA_qdmaConfig(&GIHighSpeedOutQDMA);
}
As you can see the options for the EDMA configurations indicates that it is a 1D to 1D transfer with SUM = INC and DUM = NONE
So I thought it should be enough to change the options for the EDMA configurations to SUM = INC and DUM = INC
so I changed it to
EDMA_Config RIHighSpeedOutQDMA = {
0x2920000, /* Option DUM = INC */
(Uint32) &stHighSpeedRiDspOut, /* Source Address - same as before */
0x00000000, /* Transfer Counter - Numeric */
(Uint32) FPGA_RIDSP_HS_DATA_OUT_ADDR, /* Destination Address - in FPGA addr = 0xB0000100 */
0x00000000, /* Index register - Numeric */
0x00000000 /* Element Count Reload and Link Address */
};
Other than that it is only the address in the FPGA that have changed everything regarding the QDMA is the same. But Now I no longer gets any data transfered - none what so ever.
I have verified that if I use the CPU to copy the data from DSP to FPGA then it works as expected, so I know that I am able to write the data to the FPGA.
I use
DSPBIOS 5_41_11_38
C6xCSL
compiler 7.4.12
I have tried alot of different things including a normal EDMA instead of QDMA, but I just cant get any data from DSP to FPGA
Are there any restrictions when using DMA to copy data from L2RAM to External RAM?
Best
Jens
FPGA addr = 0xB0000100Best
Jens