i use mcasp to send data from arm3359 to fpga, i use EDMA to transfer data.
the data was not continuous. i send a packets and after some send another, but i find
when i configure my EDMA parame like this :
static struct EDMA3CCPaRAMEntry const txDefaultPar =
{
(unsigned int)(OPT_FIFO_WIDTH), /* Opt field */
(unsigned int)loopBuf, /* source address */
(unsigned short)(BYTES_PER_SAMPLE), /* aCnt */
(unsigned short)(NUM_SAMPLES_LOOP_BUF), /* bCnt */
(unsigned int) SOC_MCASP_1_DATA_REGS, /* dest address */
(short) (BYTES_PER_SAMPLE), /* source bIdx */
(short)(0), /* dest bIdx */
(unsigned short)(oxffff), /* link address */
(unsigned short)(0), /* bCnt reload value */
(short)(0), /* source cIdx */
(short)(0), /* dest cIdx */
(unsigned short)1 /* cCnt */
};
my EDMA link address is NULL.
i can send the first packet , i can not send the next packet , the mcasp can not work.
so i wonder if data send by the mcasp must be continus?
i have tried TDM mode and Burst mode, neither is working.