TI中文支持网
TI专业的中文技术问题搜集分享网站

EDMA3 进行数据转置时,只有部分数据成功转置。

大家好,我遇到的问题是:使用EDMA3,对128*2k点的数据进行搬移,同时进行转置,用AB型传输,源地址与目标地址都在DDR3中。

但是测试结果显示,只有部分数据进行了转置。

关于EDMA3的配置如下:

uint32_tedma_ch_num= 1;uint32_tedma_tcc_num  = 1;uint32_tedma_evtq_num = 0;uint32_taCnt = 4;uint32_tbCnt = 128;uint32_tcCnt = 2048;EDMA3Init(CSL_EDMACC_1_REGS, 0);EDMA3RequestChannel(CSL_EDMACC_1_REGS, EDMA3_CHANNEL_TYPE_DMA, edma_ch_num, edma_tcc_num, edma_evtq_num);edmaParam.opt= 0x00900004u;edmaParam.srcAddr  = (uint32_t) (&Data);edmaParam.destAddr = (uint32_t) (&Data_Twi);edmaParam.aCnt= aCnt;edmaParam.bCnt= bCnt;edmaParam.cCnt= cCnt;edmaParam.srcBIdx  = aCnt;//源地址 二维  aCntedmaParam.srcCIdx  = aCnt*bCnt;//源地址 三维  aCnt*bCntedmaParam.destBIdx = aCnt*cCnt;//目的地址 二维  aCnt*cCntedmaParam.destCIdx = aCnt;//目的地址 三维  aCntedmaParam.linkAddr = 0xFFFFu;edmaParam.bCntReload = 0u;EDMA3SetPaRAM(CSL_EDMACC_1_REGS, edma_ch_num, &edmaParam);for (count = 0; count < 2048; count++){Result = EDMA3EnableTransfer(CSL_EDMACC_1_REGS, 1, EDMA3_TRIG_MODE_MANUAL);while (Result != 1) ;}

Shine:

"只有部分数据进行了转置"的话,先试试小矩阵转置有没有问题?

kang xiao:

回复 Shine:

你好, 我刚刚测试了一下, 小矩阵转置没有转置成功,没有一点变化。

程序中的参数是根据下图设置的:   那一块需要改一下呢?

kang xiao:

回复 Shine:

你好, 刚刚因为把源地址和目标地址放在L2 SRAM 中, 没有转置成功, 当源地址和目标地址在DDR3中时,转置成功了。

赞(0)
未经允许不得转载:TI中文支持网 » EDMA3 进行数据转置时,只有部分数据成功转置。
分享到: 更多 (0)