Other Parts Discussed in Thread: TMS320C6747
Hi, I'm jkiset.
I'm test interface between DSP(TMS320C6747) and my own FPGA FIFO(EMIFA AsyncMode : WrSetup=1,WrStrobe=3,WrHold=1,RdSetup=1,RdStrobe=5,RdHold=1);
I confirmed that increased value is read step by step from FPGA FIFO to DSP Buffer.
But, EDMA3 FIFO_Address_Mode is always read zero.
My code is below...(hEdma, callback is predefined)
acnt = sizeof(unsigned short);
bcnt = 100; //
BRCnt = bcnt;
srcbidx = (int)(acnt);
desbidx = (int)(acnt);
srccidx = ((int)acnt * (int)bcnt);
descidx = ((int)acnt * (int)bcnt);
EDMA3_DRV_requestChannel ( hEdma, &chId, &tcc, (EDMA3_RM_EventQueue)0, &callback, NULL);
EDMA3_DRV_setSrcParams ( hEdma, chId, (unsigned int)src, EDMA3_DRV_ADDR_MODE_FIFO, EDMA3_DRV_W16BIT);
EDMA3_DRV_setDestParams ( hEdma, chId, (unsigned int)dst, EDMA3_DRV_ADDR_MODE_INCR, EDMA3_DRV_W16BIT);
EDMA3_DRV_setSrcIndex ( hEdma, chId, srcbidx, srccidx);
EDMA3_DRV_setDestIndex ( hEdma, chId, desbidx, descidx);
EDMA3_DRV_setTransferParams ( hEdma, chId, acnt, bcnt, 1, BRCnt, EDMA3_DRV_SYNC_AB);
EDMA3_DRV_setOptField ( hEdma, chId, EDMA3_DRV_OPT_FIELD_TCINTEN, 1u);
EDMA3_DRV_setOptField ( hEdma, chId, EDMA3_DRV_OPT_FIELD_ITCINTEN, 1u);
EDMA3_DRV_enableTransfer( hEdma, chId, EDMA3_DRV_TRIG_MODE_MANUAL);
...
I don't know what's wrong.
Tell me the answer or example code.
Thanks...