大家好:
我现在在调试USB CPPI DMA的驱动,主要实现的目标是进行超过4M,甚至更多数据的通讯,主要使用的是CDC设备总线和CPPI DMA,DMA使用的模式是Linux CDC模式,数据手册中有介绍RNDIS和Linux CDC进行数据通讯是一样的,唯一的不同点是Linux CDC模式进行数据通讯时数据长度没有满足64字节的倍数会发送一个字节为1,数据是0x00的数据包给PC端。
我现在遇到的问题是如果数据量超过4M后使用DMA发送回出现死机的现象,主要是卡在函数enableCoreTxDMA函数里面的while((HWREGH(usbInstance->usbBaseAddress + ulRegister) & 0x2) == 0x02);判断条件一直不能满足,导致会卡在里面,没有分析明白原因是什么,有调试过这方面的大神指点下,可能造成的原因是什么???
祝好!!!!!