zhangyanping
驱动小牛
驱动小牛
  • 注册日期2003-02-23
  • 最后登录2004-07-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:933回复:1

在PCI9054的驱动程序中,如何配置XXX_ReadWriteBlock()中的参数?

楼主#
更多 发布于:2003-04-01 16:03
在由WINDRIVER生成的诊断程序中,我想自己调用它生成的XXX_ReadWriteBlock()的函数,我设置的参数如下:
P9054DIR1_ReadWriteBlock(hP9054DIR1,addrSpace,dwOffset,TRUE,&buf,64,P9054DIR1_MODE_DWORD);
其中,addrSpace是局部地址空间0的物理地址20000000;
      dwoffset 从键盘输入为00;
      &buf应该是从局部空间0读回来的数据存放缓冲区,我是自己申请了一个地址空间用下面实现
    DWORD buf[100];
可是当我从键盘输入 addrSpace 和dwoffset的值时,却出现“内存不能读的错误”,看来是我的addrSpace的值不对,难道这里不是局部地址空间0的物理地址吗?

那这些参数都代表什么涵义阿?请高手指点???
zhangyanping
驱动小牛
驱动小牛
  • 注册日期2003-02-23
  • 最后登录2004-07-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-04-01 16:15
我刚才用PCIBAR2中的内容,写给XXX_ReadWriteBlock()中的addrspace,就没有错误了!
这才明白,LAS0BA中的内容20000000只是表示局部空间0在局部总线空间的基址,而想在驱动程序中读取局部空间0的数据,应该使用的基址是PCIBAR2中的内容!!!

可是LAS0BA应该是硬件编址产生的,那它对于9054外接的FIFO是不是没有用阿?这个寄存器对于驱动程序来说,用在那个地方阿??
游客

返回顶部