阅读:1079回复:3
stephen_young,请问你是怎样..
请问你是怎样读出pci配置寄存器的值的。比如说9054的vid和did
分别为9054和10b5是如何才能读出的? 万分感谢 |
|
沙发#
发布于:2004-11-17 09:33
我用的板子的cpld里面写的这些id,在NTDDK的文件夹里有个\NTDDK\tools\pcitool工具,用来列举pci设备,装上以后会在控制面板上有个快捷方式,用它可以看到设备的各个id。
另外,我对硬件的制作不是很清楚,我觉得好像你说的id是可写的(我用的板子使用的是cpld)。 9054的手册上面提到了了这两个id,他们是固定的。 |
|
|
板凳#
发布于:2004-11-17 10:42
多么热情的stephen啊!我已经搞清出我的问题了。我的是9030,9054基本同理。
我主要是没有分清如下两种寄存器的概念: bar0和bar1是给本地配置寄存器(local configuration registers) 分配的空间,因此我通过初始化过的m_iorange0.ind(0x00)读出的是本地配置寄存器偏移量为0x00上的值(值为0x0ff00000,之前一直以为这个数值是读错的值)。 而pci配置寄存器(pci configuration registers)的读使用的是 KPciConfiguration类下的ReadHeader方法.读出的值为我想要的 0x903010B5。 再次感谢stephen同志的热情帮助!! |
|
地板#
发布于:2004-11-17 16:15
多么热情的stephen啊!我已经搞清出我的问题了。我的是9030,9054基本同理。 噢,你用了ReadHeader.我还是头一次听说这个函数. 长见识. |
|
|