如果数据量小,<100单位,自己写内存拷贝函数,然后利用软件流水优化?
然后数据量大,用DMA?但是8168 DVRRDK4.0上怎么用DMA传输?
谢谢!
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.
如果数据量小,<100单位,自己写内存拷贝函数,然后利用软件流水优化?
然后数据量大,用DMA?但是8168 DVRRDK4.0上怎么用DMA传输?
谢谢!
谢谢Louis!
还有问题,如果在DSP里直接拷贝,用的是memcpy函数,这个函数在我们DSP算法里是运行频率比较高的,我们如果自己写内存拷贝函数,软件流水上优化,是不是会比memcpy效率更高?让DSP并行起来。
用Utils_dmaCopy2D,我们是在CCS里把我们算法编译成库,再到8168里用,这个函数估计是调用不起来了吧,它应该在DVRRDK里封装了好几层了吧。
如果没有记错的话,DSP里面的memcpy库函数的运行效率已经是经过优化的了,这个你可以通过反汇编查看,里面大量运用了类似_amem8,_amem4等高效指令,流水的排布也是优化过的,这个不太建议你从函数的层面进行优化。反倒是你可以考虑将一些需要拷贝的内容合并,以求能够用DMA拷贝,减少CPU调用开销。