阅读:1550回复:1
9054的DMA的一个奇怪问题
先说一下local端的设置: 工作在C模式,32位数据总线传输,单周期不突发。 每当ADS#有一个下降沿时,local端接受一个32位数据。不用ready#,用内部等待。dma为block dma,方向位PCI到LOCAL
现在的问题是:当把一次dma传输的字节个数设置为1或2或3时,9054发起一次dma传输,local接收到32位数据,完全正确。 当传输的字节个数设置为4时,应该和前面的结果一样,但是现在却发起了两次传输,local收到了两个32位数据,并且第二个数据不对。 以此类推,传输字节个数不为4的倍数时,完全正确,一旦为4的倍数,就会多传输一次,并且数据不对。 PCI TARGET读写完全正确 TOM兄,我都重头翻到尾了,实在不知所以然,恳求给个解释 20分送上 春节愉快 |
|
沙发#
发布于:2005-01-30 18:51
有一点没说清楚
当为4的倍数时,数据不对,指的是多传输的那次不对,别的也都正确 再次感谢 |
|