|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
自己做的DM642 PCI板卡。驱动按照Walter oney中所写。
DMA初始化的时候为什么返回映射寄存器的数量不超过8?
DEVICE_DESCRIPTION dd;
RtlZeroMemory(&dd, sizeof(dd));
dd.Version = DEVICE_DESCRIPTION_VERSION;
dd.Master = TRUE;
dd.Dma32BitAddresses = TRUE;
dd.InterfaceType = PCIBus;
dd.MaximumLength = 0xF000;
pdx->AdapterObject = IoGetDmaAdapter(pdx->do, &dd, &pdx->nMapRegisters);
nMapRegisters应该等于 (缓冲区字节长度/4096 + 1) 吧? 可是无论dd.MaximumLength修改为多大,返回的pdx->nMapRegisters最大始终等于8,换了好几台机器都是这样,操作系统是WINXP SP2
需要哪里做什么设置吗? 还是要换别的操作系统?
[ 本帖最后由 king00star 于 2007-12-16 12:01 编辑 ] |
|