阅读:1774回复:7
请教关于PCI地址空间的一个问题
PCI地址空间分为内存空间,I/O空间,配置空间.
那么这三个地址空间如何区分呢?或者说PCI总线如何去分配这三个地址空间呢? 请高手指教:) |
|
沙发#
发布于:2005-04-16 09:56
我用一个非常简单的方法,用windriver,检测一下硬件设备就知道资源怎么分配了,另外,你可以先写一个测试的驱动,在检测资源的时候,看看分配的是那种资源,或者你就把驱动写的复杂点,假设这几种资源都存在
|
|
板凳#
发布于:2005-04-16 09:59
PCI地址空间分为内存空间,I/O空间,配置空间.
那么这三个地址空间如何区分呢?或者说PCI总线如何去分配这三个地址空间呢? 配置空间 用来存储pci的配置信息的,这个不用自己来访问的 内存空间,I/O空间 是对pci设备的内部寄存器的映射。 |
|
地板#
发布于:2005-04-16 20:22
我想查看设备的配置信息,那该咋办? :(
|
|
地下室#
发布于:2005-04-18 15:17
说一下我做的项目的配置:配置空间基址为0,直接利用偏移进行配置访问,io空间基地址是自己在配置空间的io映射寄存器中设置,设为0x2000000,配置空间中的memery映射寄存器没有设置,为0
|
|
5楼#
发布于:2005-04-28 13:36
pci地址空间只分两种
内存空间或I/O空间只能存在一种 是对pci设备的内部寄存器的映射。 PCI的配置空间存储的是配置信息 你可以通过配置空间的基址寄存器来区分到底是I/O映射还是内存映射,基址寄存器的低0位代表用什么方式,0代表内存映射,1代表I/O映射, 读取配置信息,再WDM驱动中通过发送自己定义的irp,IRP_MN_READ_CONFIG IRP_MN_WRITE_CONFIG 读写内存地址空间用READ_REGISTER_BUFFER_UCHAR等函数 读写i/o端口映射空间用READ_PORT_UCHAR等函数 |
|
6楼#
发布于:2005-04-28 13:39
如果我回答对了,给点分数给我,我回答的问题都没有人给我分数,不公平
|
|
7楼#
发布于:2005-05-31 10:13
如果我回答对了,给点分数给我,我回答的问题都没有人给我分数,不公平你说错了,不是I/O和内存空间只有一个存在,可以同时都有的! |
|