ithinkican
驱动牛犊
驱动牛犊
  • 注册日期2004-09-14
  • 最后登录2004-10-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1103回复:2

初级问题 关于pci wdm 驱动

楼主#
更多 发布于:2004-09-27 11:44
  用AMCC S5933的片子 现在我想访问片内的寄存器。
  DATASHEET上面有片内寄存器的相对地址addr。

  我在WINDOWS下 用DRIVER 访问。

  我用pcitree看到了bar0~bar3的值 后面都标着I/O空间
  那几个值是0x0000c001
            0x0000c401
            0x0000c801
            0x0000cb01

  这个是不是要经过转换 得到baseAddr. 如果需要转换,具体是怎么做的?

  可以通过这样的语句访问吗?

  unsigned long data;
  data = *(unsigned long *)( baseAddr + addr );

  问题很土,还请大家指点。

  bow
ithinkican
驱动牛犊
驱动牛犊
  • 注册日期2004-09-14
  • 最后登录2004-10-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-09-27 14:19
anybody here?
histogram
驱动牛犊
驱动牛犊
  • 注册日期2004-08-28
  • 最后登录2006-09-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-09-28 17:10
我没有用过Pcitree。但后面的地址应该转化后的地址。它们有系统自动分配。但它们属于IO空间。用READ_REGISTER_ULONG()可以访问。
游客

返回顶部