阅读:1577回复:0
NDIS网卡驱动DMA的问题
在做一个移植
发现CE文档中有这样一段话 The Windows CE NDIS implementation does not support direct memory access (DMA). Do not use the NdisSetupDmaTransfer, NdisCompleteDmaTransfer, NdisMRegisterDmaChannel, NdisMDeregisterDmaChannel, NdisMAllocateMapRegisters, NdisMFreeMapRegisters, NdisMReadDmaCounter, and NdisGetSharedDataAlignment functions. Use the NdisMAllocateSharedMemory and NdisMFreeSharedMemory functions for PCI bus master DMA transfers. 这段话开始说CE不支持DMA,列出了一堆不可以使用的函数 但是最后一句又说在PCI设备为host的DMA中应该使用NdisMAllocateSharedMemory、NdisMFreeSharedMemory 函数 而且之前说明不可用的NdisMAllocateMapRegisters函数在文档中居然也是有的 我的代码也用到了它,编译完全没问题 实在是让人摸不着头脑了 谁能告诉我ce下到底能不能用DMA啊,还有NdisMAllocateMapRegisters能不能用? 我的运行平台是PC,网卡卡是PCI的 |
|