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

一个奇怪的GPIO中断会影响USB传输的问题

现在在管脚GPIO2_26上捕获上升沿中断,然后中断内调度一个work_queue。

现在的问题是USB采用PIO中断模式下时,wake_up一个读队列后会引起USB传输的数据丢失问题。

如果USB改为DMA中断后,则不会引起USB传输问题。

不太明白USB的DMA和PIO模式下,调度另外一个不相关的内核线程为什么会有差异?

Yaoming Qin:

PIO模式下,由CPU负责传输,如果有中断发生,就会打断传输,所以容易出现丢包

leo chen:

回复 Yaoming Qin:

尽量使用DMA模式,减轻cpu的负担,要不然就要处理好中断到达的顺序或时间

username:

回复 Yaoming Qin:

但是也有其他GPIO中断也在工作,没发现有什么影响

username:

回复 leo chen:

现在的问题是在DMA模式下,使用g_file_storage.ko不能加载磁盘

windows下设备管理器能看到磁盘驱动器,但是看不到磁盘

但是在PIO模式下,没有这种问题,可以正常传输文件,两种模式下加载module参数是一致的。

赞(0)
未经允许不得转载:TI中文支持网 » 一个奇怪的GPIO中断会影响USB传输的问题
分享到: 更多 (0)