Other Parts Discussed in Thread: TMS320C6678
Hi,
I am trying to transfer a Block of data from one array to another both residing in DDR RAM. But, after the transfer, i am getting incorrect results. The following is my Parameter Configuration:
myParam.option = CSL_EDMA3_OPT_MAKE(CSL_EDMA3_ITCCH_DIS, \
CSL_EDMA3_TCCH_DIS, \
CSL_EDMA3_ITCINT_DIS, \
CSL_EDMA3_TCINT_EN, \
0, CSL_EDMA3_TCC_NORMAL,\
CSL_EDMA3_FIFOWIDTH_NONE, \
CSL_EDMA3_STATIC_DIS, \
CSL_EDMA3_SYNC_AB, \
CSL_EDMA3_ADDRMODE_INCR, \
CSL_EDMA3_ADDRMODE_INCR );
myParam.srcAddr = (Uint32)&fprop[(5*102*34*34)+(34*34)+35];
myParam.aCntbCnt = CSL_EDMA3_CNT_MAKE(136,3400);
myParam.dstAddr = (Uint32)&f[((5*102*34*34)+34*34+36)];
myParam.srcDstBidx = CSL_EDMA3_BIDX_MAKE(136,136);
myParam.linkBcntrld= CSL_EDMA3_LINKBCNTRLD_MAKE(CSL_EDMA3_LINK_NULL,0);
myParam.srcDstCidx = CSL_EDMA3_CIDX_MAKE(0,1);
myParam.cCnt = 1;
But, if i do with the following the C Code, the results differ:
Ex=102;Ey=34;Ez=34;
l=5;
for(i=1;i<=Xmax;i++)
{
for(j=1;j<=Ymax;j++)
{
for(k=1;k<=Zmax;k++)
{
c=k+1;
f[l*Ex*Ey*Ez+i*Ey*Ez+j*Ez+c]=fprop[l*Ex*Ey*Ez+i*Ey*Ez+j*Ez+k];
}
}
}
Both f and fprop are floating point arrays. Other EDMA transfers are working fine.
Kindly, let me know if further information is required and also the reason for the error.
Thanks & Regards
Varun