阅读:2865回复:11
如何读PCI设备的Register的值
以下数据是我用工具读出的我的一个PCI设备的Register的值,请问用程序如何读到这样的数据?
PCI的BUS, Device, Function是如何定义的?windows和DOS的都行。谢谢!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! B02 D01 F00: Realtek RTL8139 Fast Ethernet Adapter Offset 00: EC 10 39 81 07 00 90 02 10 00 00 02 00 80 00 00 Offset 10: 01 C0 00 00 00 00 00 DF 00 00 00 00 00 00 00 00 Offset 20: 00 00 00 00 00 00 00 00 00 00 00 00 EC 10 39 81 Offset 30: 00 00 00 00 50 00 00 00 00 00 00 00 0B 01 20 40 Offset 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Offset 50: 01 00 02 76 00 00 00 00 00 00 00 00 00 00 00 00 Offset 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Offset 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Offset 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Offset 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Offset A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Offset B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Offset C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Offset D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Offset E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Offset F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
|
沙发#
发布于:2003-12-28 17:12
要有驱动程序支持,我有此程序源代码,不过不能公开源代码,附近就是一个应用,直接运行。
|
|
|
板凳#
发布于:2003-12-28 19:39
楼上大侠,在下恭候你的源代码。 我的信箱:liaozhijian26@yahoo.com.cn. 万分感谢。
|
|
地板#
发布于:2003-12-30 09:29
只能卖,要买联系:freducn@yahoo.com.cn,1000¥
|
|
地下室#
发布于:2003-12-30 19:38
JS,又见JS。
|
|
5楼#
发布于:2004-02-13 13:32
这样的程序要1000块吗?也太恨了吧。
|
|
6楼#
发布于:2004-02-13 18:09
我想,尊重他人的知识产权是应该的。价格是人定的,如果认为高了,大家可以坐下来谈,慢慢把价格谈下来,人身攻击要不得的。如果认为程序简单,可以自己写啊。何必花钱呢?
我想各位有的做软件,有的是负责硬件,如果有人盗版你的产品,你会怎么想呢? 我就职于一家软件公司,我的经理告诉我们,请尽量用正版软件,或者是免费,共享软件,毕竟,我们要将心比心啊。 盗版,从短期看,有其好处;从长期看,弊大于利。 |
|
7楼#
发布于:2004-02-13 18:21
对PCI的读写,是通过0CF8h和0CFCh端口的操作来完成的。
建议到网上找一份PCI的协议来,或者到Intel网站上下载北桥芯片的Datasheet,上面有0CF8h和0CFCh端口的详细资料。 下面是我刚进公司时的作业,供你参考。 |
|
|
8楼#
发布于:2004-02-16 19:34
to freducn2002
你做的这个程序,还用到了HalSetBusData这类函数吧, 呵呵, 读取MAC ID时,就很容易出错哦, 我的机器是COMPAQ NX9010,OS是 XP SP2 . 我的MAC 和你的程序读取的不对哦, 而且,用NETBIOS能更方便读取MAC,又没有危险. |
|
9楼#
发布于:2004-02-17 09:16
是的,xp没测试过
|
|
10楼#
发布于:2004-02-29 22:49
我初列说一下吧,在WINDOWS下可以用中断读取也可以直接读取。bus,device,function,可以在设备属性里的到。也可以通过DRIVER直接对OCF8h和0CFCh端口进行读取。要注意的是对OCF8端口的操作是32BIT的,而且最高为一定要是1。0CF8的定义是[23:16]=BUS,[15:11]=DEVICE,[10:8]=FUNCTION,[7:0]=REGISTER。
|
|
11楼#
发布于:2004-03-02 11:21
自己
|
|