magicx
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2014-08-18
  • 粉丝1
  • 关注0
  • 积分-14分
  • 威望13点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1550回复:6

请教:如何编程得到被PCI BUS占用的资源空间信息。

楼主#
更多 发布于:2004-09-03 15:45
如在设备管理器中看到的,一个范围如MEM: 0xF0000000-0xFFFFFFFF。
谢谢!

最新喜欢:

wjhwdmwjhwdm
[color=red]大头鬼! :P[/color]
magicx
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2014-08-18
  • 粉丝1
  • 关注0
  • 积分-14分
  • 威望13点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-09-03 15:52
简单的读注册表好象有,怎么在程序上解析?
HKEY_LOCAL_MACHINESYSTEMControlSet001EnumACPIPNP0A03LogConf

[编辑 -  9/3/04 by  magicx]
[color=red]大头鬼! :P[/color]
tiamo
VIP专家组
VIP专家组
  • 注册日期2002-02-26
  • 最后登录2018-01-09
  • 粉丝17
  • 关注4
  • 积分50分
  • 威望142点
  • 贡献值1点
  • 好评度40点
  • 原创分2分
  • 专家分15分
  • 原创先锋奖
  • 社区居民
板凳#
发布于:2004-09-03 21:05
注册表里面是有的....
在 hardware resourcemap pnpmanager 下面

如果你作app的...不知道那些CM_XXX的函数能不能用....
我没有这种经验.....不好意思...你倒是可以查看看

如果是作driver的....如果你作的是pci设备的driver...windows是会向你报告这个信息的...在你收到IRP_MN_START_DEVICE的时候..windows会告诉你这个信息....

如果你的设备已经有一个driver了...你要知道他使用的资源...
首先你要找到这个pdo....至于怎么去找这个pdo......这个方法有很多....得看你的具体的环境...
有了这个pdo...找到他的_DEVICE_NODE...这个里面记录了他使用的资源.....

以上
magicx
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2014-08-18
  • 粉丝1
  • 关注0
  • 积分-14分
  • 威望13点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-09-03 21:45
to tiamo :

要得到 》PCI BUS《的资源空间,不是针对一个pci 设备的。
我还是为了解决PCI ROM的老问题。 :(
http://www.driverdevelop.com/forum/viewthread.php?tid=76882

[编辑 -  9/3/04 by  magicx]
[color=red]大头鬼! :P[/color]
tiamo
VIP专家组
VIP专家组
  • 注册日期2002-02-26
  • 最后登录2018-01-09
  • 粉丝17
  • 关注4
  • 积分50分
  • 威望142点
  • 贡献值1点
  • 好评度40点
  • 原创分2分
  • 专家分15分
  • 原创先锋奖
  • 社区居民
地下室#
发布于:2004-09-03 22:40
你说的我糊涂了.....

你现在是个什么情况?
说明白点?

你是某个你自己的pci设备的driver编写程序员?

或者是第3方的driver编写程序员,也就是说pci设备已经有了,但不是你自己的,你只是想写一个driver?

或者是完全不相干的因为好奇想要知道的人,也就是说设备有了,能使用的driver也有了,你只是想知道其中的操作过程?

如果你是第一种...请参考pci spec,windows driver development kits,适当的改进你的设备....

如果是第二种...请询问硬件制造者...询要datasheet以及prog guide...同时参考windows driver development kits...

如果是第三种...在确信自己了解足够多pci相关知识以后...你就明白怎么去找这个起始地址了......用softice的pci命令能看到的.
magicx
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2014-08-18
  • 粉丝1
  • 关注0
  • 积分-14分
  • 威望13点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-09-04 14:43
呵呵,这个问题是有点糊涂。

因为硬件上有BUG,所以驱动想了很多不正当的方式尝试去弥补。

目的是要给PCI卡上ROM重新影射一段空间(有效而且不能冲突------废话)。



[color=red]大头鬼! :P[/color]
tiamo
VIP专家组
VIP专家组
  • 注册日期2002-02-26
  • 最后登录2018-01-09
  • 粉丝17
  • 关注4
  • 积分50分
  • 威望142点
  • 贡献值1点
  • 好评度40点
  • 原创分2分
  • 专家分15分
  • 原创先锋奖
  • 社区居民
6楼#
发布于:2004-09-04 16:14
硬件有bug?

重新作硬件是最实际的方式.....

硬件的bug....不一定都是能用软件解决的...
得看你的硬件设计成什么样子....
大多数情况...还是修改硬件本身才是王道.....

你的硬件怎么了?
pci板上有个rom对吧?
那个rom并没有在pci的config space里面作base reg addr
也没有当作一个expansion rom加入
硬件也没有提供适当的接口访问这个rom?

如果这样的话.....
我只能说......基本不可能有办法访问到这个rom....
游客

返回顶部