XO威士忌
驱动牛犊
驱动牛犊
  • 注册日期2007-07-19
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望153点
  • 贡献值1点
  • 好评度40点
  • 原创分0分
  • 专家分0分
阅读:2114回复:2

wdm pci 驱动开发问题

楼主#
更多 发布于:2009-11-03 17:13
我只要在创建工程的时候,不设置IO,memory(也就是不添加任何IO,直接按"next"按钮),生成的sys就可以将pci设备安装成功,问题是pci板子有3个寄存器(BAR0、BAR2和BARA4),不设置也不对啊。
怎么设置呢?
另外
status = m_IoPortRange0.Initialize(  
        pResListTranslated,  
        pResListRaw,  
        PciConfig.BaseAddressIndexToOrdinal(0)      
        );  
    if (!NT_SUCCESS(status))  
    {  
        Invalidate();  
        return status;        
    }  
其中PciConfig.BaseAddressIndexToOrdinal(0)中的0是Bar0寄存器的首地址吗?
tqijin
驱动小牛
驱动小牛
  • 注册日期2006-07-04
  • 最后登录2013-11-21
  • 粉丝3
  • 关注0
  • 积分31分
  • 威望1060点
  • 贡献值1点
  • 好评度14点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-11-04 12:24
status = m_IoPortRange0.Initialize(  
        pResListTranslated,  
        pResListRaw,  
        PciConfig.BaseAddressIndexToOrdinal(0)      
        );  
    if (!NT_SUCCESS(status))  
    {  
        Invalidate();  
        return status;        
    }  
其中PciConfig.BaseAddressIndexToOrdinal(0)中的0是Bar0寄存器的首地址吗?

对应于I/O资源的Bar0
其他的也可以像上面那样做,BaseAddressIndexToOrdinal(0)对应不同bar
chaixy1986
驱动牛犊
驱动牛犊
  • 注册日期2008-10-10
  • 最后登录2010-01-12
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望83点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2010-01-07 18:53
回 楼主(XO威士忌) 的帖子
请问你解决了问题没啊?我也不懂,也才开始做pci,用的也是driverstudio
没有做不到的事
游客

返回顶部