Hi,everyone
I'm using LLD to complete a simple edma transfer but fail.
I've already red the sample provided by TI and I change the "dma_test.c" a little.Here is my code:
EDMA3_DRV_Handle hEdma;
EDMA3_DRV_Result result=EDMA3_DRV_SOK;
EDMA3_DRV_PaRAMRegs paramSet = {0,0,0,0,0,0,0,0,0,0,0,0};
unsigned int tcc=0;
unsigned int chId=0;
result = EDMA3_DRV_requestChannel (hEdma, &chId, &tcc,(EDMA3_RM_EventQueue)0,NULL, NULL);
/* Fill the PaRAM Set with transfer specific information */
paramSet.srcAddr = (unsigned int)(&Tx_block);
paramSet.destAddr = (unsigned int)(Rx_block_add);
paramSet.srcBIdx = sizeof(Tx_block[0]);
paramSet.destBIdx = sizeof(Tx_block[0]);
paramSet.srcCIdx = 0;
paramSet.destCIdx = 0;
paramSet.aCnt = sizeof(Tx_block[0]);
paramSet.bCnt = block_size;
paramSet.cCnt = 1;
paramSet.bCntReload = 0;
paramSet.linkAddr = 0xFFFFu;
/* Src & Dest are in INCR modes */
paramSet.opt &= 0xFFFFFFFCu;
/* Program the TCC */
paramSet.opt |= ((tcc << OPT_TCC_SHIFT) & OPT_TCC_MASK);
/* Disable Intermediate & Final transfer completion interrupt */
paramSet.opt |= (0 << OPT_ITCINTEN_SHIFT);
paramSet.opt |= (0 << OPT_TCINTEN_SHIFT);
/* AB Sync Transfer Mode */
paramSet.opt |= (1 << OPT_SYNCDIM_SHIFT);;
/*write the PaRAM Set. */
result = EDMA3_DRV_setPaRAM(hEdma, chId, ¶mSet);
result = EDMA3_DRV_enableTransfer (hEdma,chId,EDMA3_DRV_TRIG_MODE_MANUAL);
Since this is a simple test, so I doesn't use chain,link or interrupt and there is no callback function,I only want to complete a transfer and nothing more.Now there is no problem with the complie and link and the .out file can be generated.But when I debug,the EDMA seems not working and I think maybe my configuration is wrong.
Could anybody spare me some time to help find where my problem lies?
One more question,there is three EDMACC in 6678 but when I read the code I don't find something to choose which one to use,the LLD samples for 6678 seems quite different from those for 6455,and it seems(probably not right) there is less for me to config?
Thank you very much.
Zhao