阅读:1705回复:4
再请教关于系统DMA的问题
我的PCI设备是一个PCI从设备,想通过主板上的系统DMA通道传输数据,据WALTER ONEY的书上说,可以在资源列表里发现CmResourceTypeDMA,是PNP分配给设备的DMA通道, 但我认为这不太可能,写了一个程序测试, 发现的确找不到CmResourceTypeDMA, 后来我干脆指定了一个DMA通道来初始化DEVICE_DESCRIPTION, 再调用IOGetDmaAdapter, 却也是失败, 所以也想请教一下对于这种pci从设备应该怎样进行dma传输?
|
|
|
沙发#
发布于:2001-09-09 18:20
我曾经读过一个关于DMA的例子,从资源列表没有DMA的信息,
你可以查阅一下DDK,看一下相关函数IoGetDmaAdpter: taihai_hong@263.net |
|
板凳#
发布于:2001-09-10 09:19
其实你做硬件的测试驱动,不用如此麻烦,关键是利用更好的工具,如果采用DriverWork就简单多了,这些固定的东西(获得资源等)不要你操心,你可以关注其他问题,不必在这些问题上费时间。所以建议你用DriverWork来开发。我曾经也象你一样在这个问题上迷惑, 后来我用DriverWork成功开发出来dma的控制传输。
|
|
地板#
发布于:2001-10-10 09:48
你需要写一个INF文件,在其中请求一个DMA通道,在PNP消息中可得到它,请参考有关书籍!
|
|
|
地下室#
发布于:2001-10-13 11:41
仔细看一下pci规范,pci总线根本就不支持pc机内的dma传输,根本就没有dma请求信号,也就是说pci作为一个从io设备,无法向PC内的
DMA发出请求,这又如何能使用呢? 只有使PCI作为IO主设备控制系统总线使用PCI自身带的DMA才行。 |
|
|