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

关于EDMA的使用问题

群内的大神们:

    你们好! 我用的是基于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,能自动加载参数,你看看能否适用于你的应用。

赞(0)
未经允许不得转载:TI中文支持网 » 关于EDMA的使用问题
分享到: 更多 (0)