阅读:1051回复:3
DMA问题,请高手指点
USB设备使用DMA传输,在驱动程序中该如何做?是不是只需设为直接IO AND 在UsbBuildInterruptOrBulkTransferRequest中传 Irp的MdlAddress就可以了?需不需要操作DMA适配器对象?
|
|
沙发#
发布于:2004-01-12 11:31
个人认为:
DMA只是对于硬件来说的,DMA控制器在外部逻辑和USB芯片(端点)之间传输数据,端点可以是块传输,也可以是同步。 驱动程序不需要控制外部的DMA控制器。 |
|
|
板凳#
发布于:2004-01-12 12:14
多谢huoxy,另外我还有一个问题:
我的设备是一个读卡器, 我要读取设备里的数据时,首先得写一个命令通知设备从哪个位置开始给数据 但是当我把命令写入后马上读数据时就会把刚写入的命令读出来,读与写使用不同通道 如果我在应用程序中使用Sleep一定时间之后则不会,不知有没有人碰到类似问题,怎么解决? 会不会是驱动的问题?但USB的驱动基本上都交于USBD处理的啊 |
|
地板#
发布于:2004-01-12 16:09
多谢huoxy,另外我还有一个问题: 没有遇到过你所说的问题,硬件不是你设计的吧,我估计固件出问题的可能性居多,具体说不来,不好说。 |
|
|