AM335X的EDMA功能非常强大,非常好用。有一点不明白,EDMA有很多异常或错误的处理,什么条件下会发生错误呢?我用EDMA高速传输数据,一旦错误,会丢数,一直担心着呢。
现在调试状态下,程序打断点就会发生EDMA错误!
请TI的高手解释一下好吗?
Lingbo Xu:
以前用别的处理器的DMA,也没有错误处理,现在有了到不适应了。DMA发生传输错误岂不是一件可怕的事情?
Lingbo Xu:
回复 Lingbo Xu:
TI的工程师们,在吗?求解答!
Steven Liu1:
回复 Lingbo Xu:
从个人使用的情况来说,没遇到EDMA错误,个人的理解是,这个错误可能发生在配DMA表时,会不会出现配置错误,传送时,会不会写入不可读、不可写的区域等等……类似于这种类型的错误,而不是说DMA本身传输数据出错。
你出错的情况,能描述一下是怎么操作出的错误码?在什么样的系统环境、跑的什么程序?断点放在哪儿停了?
xu he:
你好,最近我也在做FPGA+am335x通信驱动程序,需要实现的是fpga向arm发送一个信号(频率大约125Hz),每次通知触发应用层主动读取fpga中的数据,每次读取的数据大小为8K,我用的是申请一个中断引脚,中断处理函数为发送异步通知信号,应用层接收后主动调用read系统调用读数据,但是读速率很不理想,到了大约中断信号50Hz时,应用层就会有时读不到数据,看到您已经解决了edma传输,真心厉害,请教您一下,针对我遇到的问题,您有什么比较好的解决方案呢,请留下QQ号吧,希望和您多交流一下,万分感谢。。
Liu Hui:
嗨,我们有335x gpmc DMA问题,请求支援,愿意付费。