阅读:1363回复:4
斑竹,帮帮我
我是一个初学者,正在学习关于9052的驱动编写,对于配置空间不很理解.什么叫内存映射,什么叫i/o映射.9052的手册里写PCI配置空间寄存器从00h开始,后来又说LOCAL配置寄存器,这两个什么关系呢?还有,它说的local address space 1 range register是个什么寄存器?它的[27:4]是这么说的:specifies PCI address bits used to decode PCI access to local bus space2.这里的local bus space指的是什么呢?
|
|
沙发#
发布于:2002-04-12 21:10
1.PCI设备使用3种空间,内存空间,IO空间,配置寄存器空间。目前的计算机32位提供了4G的内存空间,64K的IO空间,每块PCI板卡有256字节的配置寄存器空间(实际仍然是以IO映射的方式)。从本质上讲,intel体系计算机使用Memmory RD/WR指令访问的就是内存空间,IO RD/WR指令访问的就是IO空间。并没有专用的配置寄存器空间,配置寄存器空间可以理解为一种特殊映射的IO空间。
2.PCI配置寄存器是每块PCI板卡都必须提供的,系统的即插即用和其他的基本信息都必须靠这里获得。LOCAL配置寄存器是9052这块芯片为实现自身的功能所提供的寄存器。这种寄存器你可以像理解8255等可编程芯片一样去理解。 3.空间映射需要提供两个基本信息:起始地址,空间大小。range register就是空间的大小。 4.local bus space也就是板卡上的地址空间,他和系统的空间存在互相映射的关系 5.9052的地址映射算法实际上是根据你的range register中从MSB开始为1的位,这些位和PCI地址的相应位如果相同,则被选中 |
|
|
板凳#
发布于:2002-04-14 15:38
万分感谢!马上送分!
|
|
地板#
发布于:2002-04-15 19:49
如果我想让windows能认9052,应该向哪些寄存器写东西呢?
|
|
地下室#
发布于:2002-04-15 19:58
vendor id
device id classid revision the type of header... 详情见任何一本写pci的书籍(虽然很是不多) |
|