阅读:1637回复:4
关于PCI9054驱动程序中DMA实现问题求助!!!
各位大侠,小弟在编写PCI9054接口控制器的VXD驱动程序时,遇到了一些问题,在这里想请各位好心的大侠给点指导,也请管理员给支招。问题就是我在实现PCI9054的DMA操作时,DMA写能够顺利完成,但DMA读却不行,并不是无法实现,而是不稳定,有时一点也读不出来,有时却能完全读出,有时却是前面几个字节读不出,而后面的都对了,我一直搞不清楚问题出在哪里,是不是DMA读在寄存器设置时有着与写不太一样的地方,我是指除了传输方向之外,或者是有一些特殊的要求。请各位大侠不吝赐教。小弟在这里谢过了。
|
|
沙发#
发布于:2003-01-04 13:24
能否问一下,9054的dma的寄存器中的pci地址寄存器和local地址寄存器,在dma传输的过程中,该填写什么样的地址。
比不写操作时,是不是在pci地址寄存器中写入io请求数据空间的逻辑地址,local地址寄存器中填写local映射到系统的逻辑地址? |
|
板凳#
发布于:2003-01-04 18:30
pci基址寄存器中按要求填写,系统将知道你要多大的空间,并在其中填写分配的系统基地址,local register 里的内容是相应基地址映射的本地地址
|
|
|
地板#
发布于:2003-01-06 11:27
在dma传输之前,你不是需要填写dma的一些寄存器吗?
比如方式寄存器,pci地址寄存器,local地址寄存器,传输计数寄存器,还有描述寄存器。 我想问在向设备写入数据的dma操作时,pci地址寄存器,和local地址寄存器,该填写什么内容? |
|
地下室#
发布于:2003-03-18 15:14
LOCAL的地址是硬件配置决定的一般在CPLD中设置,
PCI端的我也想问,请赐教! |
|