阅读:1126回复:6
关于9054的DMA???这几天一直在调试9054的DMA操作,使用WINDRIVER里面的API函数,可是却发生了怪事,就是,当我写了DMACSR0的位1和位0时,却始终接收不到DMAISDONE信号,强迫停止,发现并没有数据读到PC机的内存? 当我把原来给DMAMODE0里的READY输入使能位去掉后,就可以检测到ISDONE信号了,可是此时,仍然没有读到SRAM中的数据,这是怎么回事呢?因为READY是肯定要使能的阿! 我没有使用中断,因为感觉从PC这边读PCI板卡SRAM,不需要中断,是不是中断的原因,还是因为硬件里CPLD里的时序不对阿??? |
|
沙发#
发布于:2003-04-18 16:32
你如果觉得是cpld的时序问题,你可以先只作一般的读写,验证
是否你的板子的时序有问题。如果时序没问题,在进行dma. 我前面用ds写的pci9054的驱动就是我买的pci9054 rdk lite板有 问题,还得我调了两星期。后来换了别的9054的板子就行了。 你也可以换板子是试一下。 |
|
|
板凳#
发布于:2003-04-18 19:55
fwzfwz1,板子应该是没有问题的,因为可以单次读写的,我仿真了CPLD的程序,时序是正确的,只是没有具体用示波器测试一下!
我用的也是PCI9054RDK-LITE的板子,用PLXMON可以看到SRAM中的数据的,连续读写也都可以,就是DMA不行,真的很头痛! |
|
地板#
发布于:2003-04-18 20:14
zhangyanping
我得pci905 rdk lite板,也是单次读写没问题,dma时有问题。 而且不同的寄存器设置读到的值还不一样。我是说如果你实在觉得 你的驱动没问题的话,有可能是板子的问题。 实在不行的话用ds开发吧! |
|
|
地下室#
发布于:2003-04-18 20:45
fwzfwz1,我想应该是我的程序有问题吧,我把我添了一些代码的WINDRIVER程序发给你了,有空帮我看一下,我现在也是觉得好像WINDRIVER调试也并不是很好的,对了,你学习driverstudio,还是driverworks阿!
|
|
5楼#
发布于:2003-04-18 20:47
奇怪了???
现在怎么不能给分了,fwzfwz1,下次在发分给你吧,多谢了! |
|
6楼#
发布于:2003-04-22 11:19
我用的是driverstudio中的driverworks.
|
|
|