群内的大神们:
你们好! 我用的是基于8127芯片, ipnc-rdk 3.8 ,在m3vpss核上用到EDMA时遇到了问题,具体用到的EDMA接口函数如下:
void DM81XX_EDMA3_setParams(int chId, int dmaQueue, unsigned int srcAddr, unsigned int dstAddr, unsigned short edmaWidth,
unsigned short edmaHeight, short srcLineOffset, short dstLineOffset);
void DM81XX_EDMA3_triggerTransfer(int chId);
由于需要,我在操作每帧数据时大概会调用上述接口130次左右,我使用的是chId=12, dmaQueue=0,
能够正常运行一段时间(从10分钟到1个小时不等), 随后就卡在这个地方了,我想咨询的是:
1)这个EDMA调用频率不能太频繁吗?大概什么样的频率能正常工作?
2)我在m3vpss中使用,chId这个值的范围是多少的? 还是dmaQueue的范围是多少呢?
3)如果EDMA不能调用太频繁,在m3vpss核上进行内存拷贝,我还能采取什么方式能比较快的完成(memcpy太慢)?
先谢谢啦,困扰了好多天,请指点…
Chris Meng:
Zhang Jensen,
建议你阅读一下DM814x TRM里面EDMA的相关章节。理论上调用edma是不应该会不结束的,你可以检查一下edma的error寄存器,看是否有出错。
如果你修改的edma的参数不是很多,建议你仅仅修改需要修改的参数,而不是全部写一遍。
EDMA还有link,能自动加载参数,你看看能否适用于你的应用。
TI中文支持网

![TMS320F28379D: 导入例程出现故障Description Resource Path Location Type gmake: *** [gridconnectedinvlclfltr.obj] Error 1 gridConnectedInverterLCLFltr C/C++ Problem-TI中文支持网](https://www.ti2k.com/wp-content/uploads/ti2k/DeyiSupport_C2000_pastedimage1752114958744v1.jpg)

