阅读:934回复:1
在PCI9054的驱动程序中,如何配置XXX_ReadWriteBlock()中的参数?
在由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的物理地址吗? 那这些参数都代表什么涵义阿?请高手指点??? |
|
沙发#
发布于:2003-04-01 16:15
我刚才用PCIBAR2中的内容,写给XXX_ReadWriteBlock()中的addrspace,就没有错误了!
这才明白,LAS0BA中的内容20000000只是表示局部空间0在局部总线空间的基址,而想在驱动程序中读取局部空间0的数据,应该使用的基址是PCIBAR2中的内容!!! 可是LAS0BA应该是硬件编址产生的,那它对于9054外接的FIFO是不是没有用阿?这个寄存器对于驱动程序来说,用在那个地方阿?? |
|