阅读:1679回复:6
请教:如何编程得到被PCI BUS占用的资源空间信息。
如在设备管理器中看到的,一个范围如MEM: 0xF0000000-0xFFFFFFFF。
谢谢! |
|
最新喜欢:![]()
|
沙发#
发布于:2004-09-03 15:52
简单的读注册表好象有,怎么在程序上解析?
HKEY_LOCAL_MACHINESYSTEMControlSet001EnumACPIPNP0A03LogConf [编辑 - 9/3/04 by magicx] |
|
|
板凳#
发布于: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...这个里面记录了他使用的资源..... 以上 |
|
地板#
发布于: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] |
|
|
地下室#
发布于: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命令能看到的. |
|
5楼#
发布于:2004-09-04 14:43
呵呵,这个问题是有点糊涂。
因为硬件上有BUG,所以驱动想了很多不正当的方式尝试去弥补。 目的是要给PCI卡上ROM重新影射一段空间(有效而且不能冲突------废话)。 |
|
|
6楼#
发布于:2004-09-04 16:14
硬件有bug?
重新作硬件是最实际的方式..... 硬件的bug....不一定都是能用软件解决的... 得看你的硬件设计成什么样子.... 大多数情况...还是修改硬件本身才是王道..... 你的硬件怎么了? pci板上有个rom对吧? 那个rom并没有在pci的config space里面作base reg addr 也没有当作一个expansion rom加入 硬件也没有提供适当的接口访问这个rom? 如果这样的话..... 我只能说......基本不可能有办法访问到这个rom.... |
|