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

TDA4 cache一致性问题

        在我们的算法中,我们会在L2上申请两块内存pSrcL2Blk和pDstL2Blk,分别用来存储输入数据和输出数据。我们首先用UDMA(appUdmaCopy2D)将输入数据从ddr上搬运到pSrcL2Blk,然后C66利用pSrcL2Blk上的数据进行计算,然后将计算结果放到pDstL2Blk,最后用UDMA(appUdmaCopy2D)将pDstL2Blk上的数据搬运到ddr上。如下图所示:

                                      

在UDMA将将pDstL2Blk上的数据搬运到ddr上之后,再对ddr 进行cache_wb写回操作。

我们的代码如下:

         Udma(pSrcL2Blk, pSrcDdr, srcWidth, srcHeight);

         kernelProcess(pDstL2Blk, pSrcL2Blk);

         Udma(pDtsDdr, pDstL2Blk, dstWidth, dstHeight);

         Output_dim = dstWidth* dstHeight;

         CacheP_wb(pDtsDdr, Output_dim);

我们发现结果不正确,最后pDtsDdr和pDstL2Blk上的结果不一致。但是我们可以确定kernelProcess的计算部分是没有问题的。

在我们项目中为代码的具体参数是: dstWidth = 288 dstHeight = 25 Output_dim =7200.

Shine:

抱歉,TDAxx汽车芯片不通过e2echina论坛进行支持,可以联系您的TI销售获取技术支持或者到e2e英文论坛咨询。
e2e.ti.com/…/791

赞(0)
未经允许不得转载:TI中文支持网 » TDA4 cache一致性问题
分享到: 更多 (0)