阅读:1238回复:4
主设备如何向不久前终止传输的目标设备(终止由目标设备发stop#实现)续传?
在pci主从设备对话中,由于某些原因,目标设备不能继续接收数据,可以发stop#信号要求终止本次传输,如果在稍候的一段时间里目标设备可以继续接收数据了,主设备如何从刚才终止处继续向目标设备传输数据呢?
规范上说可以在稍候的时间里用下一个为传输的数据地址来启动,具体在程序中如何实现,如何才能知道哪一个是下一个未传输的地址呢,望赐教! |
|
沙发#
发布于:2003-03-05 00:25
用下一个地址重新启动DMA。
|
|
板凳#
发布于:2003-03-05 08:38
楼上这位老兄,是这样的,因为想继续接着上次断点处续传,那么如何才能知道断点处的下一个地址是多少呢?比如我向公共缓冲区里写数据,到一定时间后启动dma传输,在传输的过程中接收到了从设备发出的停止传输信号stop#,在一定时间后,从设备可以通过中断或者io端口的形式告诉主设备问题已经得到解决,可以继续传输了,这个时候在程序中重新启动dma的地址如何确定,谢谢!
|
|
地板#
发布于:2003-03-05 11:13
DMA完成后可以对比实际传送字节数或直接访问DMA控制器的计数器。
也可以在传送前往BUFFER中写特定字符。 |
|
地下室#
发布于:2003-03-05 11:34
明白了,谢谢!
|
|