OneWind
驱动小牛
驱动小牛
  • 注册日期2002-05-15
  • 最后登录2009-04-10
  • 粉丝0
  • 关注0
  • 积分82分
  • 威望11点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
阅读:1567回复:6

PCI内存指定

楼主#
更多 发布于:2002-12-25 09:06
  我有一PCI卡其基地址BAR0=0xD5000000,
  问从那里可以得到他的地址范围。
  谢谢。
嘿,大家好!
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2002-12-25 18:03
用户被禁言,该主题自动屏蔽!
OneWind
驱动小牛
驱动小牛
  • 注册日期2002-05-15
  • 最后登录2009-04-10
  • 粉丝0
  • 关注0
  • 积分82分
  • 威望11点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-12-26 09:16
  我的意思是在自己的驱动程序中直接读配置寄存器获得基地址和末地址。该怎样半啊? :D
嘿,大家好!
Dragon2008
驱动中牛
驱动中牛
  • 注册日期2002-04-01
  • 最后登录2006-03-13
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-12-26 11:01
在DS中可通过类KPciConfiguation访问指定的PCI设备的配置空间。不过在使用这个类时,你必须知道并指定该设备的VID和DID。如:
#define VID 0x1234
#define DID 0x4321
...
KPciConfiguation MyPciCfg(VID,DID);
...
我姓龙,我属龙,我叫龙。。。
h13
h13
驱动老牛
驱动老牛
  • 注册日期2002-07-10
  • 最后登录2008-10-24
  • 粉丝1
  • 关注1
  • 积分0分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-12-27 11:12
在ddk的话,在PCM_PARTIAL_RESOURCE_DESCRIPTOR结构的u.Memory.Start和u.Memory.Length指明了用的地址及范围
<table> [color=#8040FF]神,常虚以凝而灵明湛定 气,常静以养而充盈流通[/color] </table>
h13
h13
驱动老牛
驱动老牛
  • 注册日期2002-07-10
  • 最后登录2008-10-24
  • 粉丝1
  • 关注1
  • 积分0分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-12-27 11:15
直接用端口的话,按照pci spec的定义,得到配置寄存器后,向地址端口写入0xffffffff,然后读取端口,返回的就是地址的范围
<table> [color=#8040FF]神,常虚以凝而灵明湛定 气,常静以养而充盈流通[/color] </table>
OneWind
驱动小牛
驱动小牛
  • 注册日期2002-05-15
  • 最后登录2009-04-10
  • 粉丝0
  • 关注0
  • 积分82分
  • 威望11点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-12-31 15:33
如果我自己作个卡,该把地址范围写入配置积存器的那个单元 :D
嘿,大家好!
游客

返回顶部