阅读:976回复:4
PLX9052在ISA模式下I/O访问的问题
PCI基地址0和基地址1分别是以内存方式和I/O方式来访问局部配置寄存器所分配的基地址,PCI基地址2和基地址3分别映射到局部基地址0和局部基地址1。我现在使用DriverStudio写驱动,只有I/O操作。局部基地址1的值为0x360,局部空间大小为16字节。
问题: <1>上面提到的PCI基地址是否对应DriverStudio的wizard中第9步“Add IO Port Resource”对话框中的PCI Base Address <2>如果对应,那么假设PCI基地址0、1、2……在驱动中对应m_IoPortRange0、m_IoPortRange1、m_IoPortRange2……,如果要访问0x360+1,我应该怎么编写程序? |
|
沙发#
发布于:2004-07-10 15:09
1:是的
2:m_MemoryRange1.ind((0x360+1))读 m_MemoryRange1.outd((0x360+1),data)写 |
|
|
板凳#
发布于:2004-07-30 11:03
CYONG:
这个不是i/o操作么,为什么用m_MemoryRange1而不用m_IoRange呢?我现在要对pci 基地址3,进行memory操作,这样写是不是对的呢? m_MemoryRange1.outd((0x360+1),data);可是为什么我却写不进呢? |
|
地板#
发布于:2004-07-30 16:48
应该是把,看driverworks里面的帮助也是这样的啊啊
|
|
地下室#
发布于:2004-08-11 13:04
我已经解决这个问题了,回帖的兄弟好象不太正确,至少我在IO操作时不行,如果对pci 基地址3进行端口操作,首先在<1>中的PCI Base Address填写3,然后程序中m_IoPortRange0.outd(1,data)可以实现对(0x360+1)的写功能。
|
|