This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
现在我的图像数据从vpss到dsp中,在dsp中对图像数据做了一些修改,但返回vpss后却没有变化,数据buffer是SR0的话,那我dsp得到了buffer地址直接对内容进行修改,应该可以的啊?但试了很多次都不行
我的chains是: cameralink->ipcFramesOut(vpss)->ipcFramesIn(dsp)-> dsplink-> ipcFramesOut(vpss)->....
我在dsplink里打印,得到数据没有问题,修改后,在ipcframesout中打印发现是没有修改前的数据,实在不知道怎么回事了。希望大拿们帮帮忙啊~
Chris Meng 说:你好,
DSP处理的buffer有没有被DSP cache,会不是cache没有写回导致的问题?
这部分buffer应该属于SR0吧?我看文档中显示以及在ipcFrameIn这个link中的断言判断这段共享内存是noncache的。
如果不是这么理解,那么我是在System_getLinksFullFrames这个函数后直接操作得到的FVID2_Frame buffer, 您的意思是说我这么直接改变其中数据的话,还在dsp的cache中吗?那我该如何写回呢?
你好,
是否被DSP cache要看DSP的MAR寄存器的配置。
你也可以做一个实验,在DSP侧使用EDMA修改数据,例如把一个定值(0xabcd)复制到某个区域。这时候EDMA搬移数据是不过Cache的。如果可以成功,可以定位是cache的问题。
Chris Meng 说:你好,
是否被DSP cache要看DSP的MAR寄存器的配置。
你也可以做一个实验,在DSP侧使用EDMA修改数据,例如把一个定值(0xabcd)复制到某个区域。这时候EDMA搬移数据是不过Cache的。如果可以成功,可以定位是cache的问题。
您好,这个问题我换了办法解决。
先说下问题:我按您说的用edma拷贝了整帧数据,但发现图像有2/3是乱的,只有1/3是正确的,然后我直接指针指向图像的后一半,想直接修改这部分数据,结果发现修改没有效果,后一半图像也变的很乱。
没有办法我只好放弃ipcFramesOut 中 processlink,在这dsp之后加入了ipcFramesOutDsp, ipcFramesInVpss,暂时i解决了dsp算法后去调用这帧图像数据,只是对这个还是很不理解,为什么按照TI给的方式却有之前的问题呢..