I want to transfer 65536 btyes of data in two bcnts,and each bcnt contains 32768 bytes,but the result is I can only receive the first bcnt,is there any problem?Below is part of my program:
myParamSetup.srcAddr = (Uint32)pm;
myParamSetup.aCntbCnt = CSL_EDMA3_CNT_MAKE(32768,2);
myParamSetup.dstAddr = (Uint32)breceive;
myParamSetup.srcDstBidx = CSL_EDMA3_BIDX_MAKE(32768,32768);
myParamSetup.linkBcntrld = CSL_EDMA3_LINKBCNTRLD_MAKE (CSL_EDMA3_LINK_NULL, 0);
myParamSetup.srcDstCidx = CSL_EDMA3_CIDX_MAKE(0,0);
myParamSetup.cCnt = 1;
/** write structure myParamSetup' value into parameter set0 **/
status = CSL_edma3ParamSetup(hParamBasic0,&myParamSetup);
if (status != CSL_SOK) {
printf ("Edma param setup failed\n");
return;
}
/** Manually trigger the channel **/
status = CSL_edma3HwChannelControl(hChannel,CSL_EDMA3_CMD_CHANNEL_SET,NULL);
if (status != CSL_SOK) {
printf ("Edma channel set command failed\n");
return;
}