ustc_sunx
驱动牛犊
驱动牛犊
  • 注册日期2004-07-08
  • 最后登录2004-08-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:976回复:4

PLX9052在ISA模式下I/O访问的问题

楼主#
更多 发布于:2004-07-10 14:58
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,我应该怎么编写程序?
CYoung
驱动中牛
驱动中牛
  • 注册日期2003-06-10
  • 最后登录2005-01-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-07-10 15:09
1:是的
2:m_MemoryRange1.ind((0x360+1))读
  m_MemoryRange1.outd((0x360+1),data)写
答得好的话,请兄弟们加点分,那是对我的肯定
kucy_zhou@163.c
驱动牛犊
驱动牛犊
  • 注册日期2003-11-26
  • 最后登录2005-11-04
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-07-30 11:03
CYONG:
这个不是i/o操作么,为什么用m_MemoryRange1而不用m_IoRange呢?我现在要对pci 基地址3,进行memory操作,这样写是不是对的呢?
m_MemoryRange1.outd((0x360+1),data);可是为什么我却写不进呢?
sean198148
驱动牛犊
驱动牛犊
  • 注册日期2003-01-22
  • 最后登录2014-10-08
  • 粉丝0
  • 关注0
  • 积分44分
  • 威望26点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-07-30 16:48
应该是把,看driverworks里面的帮助也是这样的啊啊
ustc_sunx
驱动牛犊
驱动牛犊
  • 注册日期2004-07-08
  • 最后登录2004-08-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-08-11 13:04
我已经解决这个问题了,回帖的兄弟好象不太正确,至少我在IO操作时不行,如果对pci 基地址3进行端口操作,首先在<1>中的PCI Base Address填写3,然后程序中m_IoPortRange0.outd(1,data)可以实现对(0x360+1)的写功能。
游客

返回顶部