大家好:
最近几天在调试C6748开发板上USB驱动程序,主要基于例程USB_DEV_SERIAL,将USB注册为CDC总线,接收使用中断的形式进行接收,发送使用DMA进行数据发送,在代码中主要做的操作有将初始化的DMA配置的模式为Linux CDC模式,在DMA的发送函数中加入对Linux CDC模式的判断,调用的代码是模式GRNDIS的代码没有做任何修改。在调试中出现以下问题。
问题1:在通过DMA发送一组数据后会出现代码运行异常的情况,初步定位是因为中断和开启的DMA之间出现冲突,但是是不是这个原因需要进一步分析,想问下论坛的大神们有遇到这样的现象吗?如果遇到这个问题都是怎么解决的?是否与我分析的问题是一样的?
DMA发送的数据长度为5120字节的数据长度。
祝好!