mailway
驱动牛犊
驱动牛犊
  • 注册日期2002-08-15
  • 最后登录2013-11-25
  • 粉丝0
  • 关注0
  • 积分134分
  • 威望24点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
阅读:1238回复:4

主设备如何向不久前终止传输的目标设备(终止由目标设备发stop#实现)续传?

楼主#
更多 发布于:2003-03-04 16:18
在pci主从设备对话中,由于某些原因,目标设备不能继续接收数据,可以发stop#信号要求终止本次传输,如果在稍候的一段时间里目标设备可以继续接收数据了,主设备如何从刚才终止处继续向目标设备传输数据呢?
规范上说可以在稍候的时间里用下一个为传输的数据地址来启动,具体在程序中如何实现,如何才能知道哪一个是下一个未传输的地址呢,望赐教!
X_ray
驱动中牛
驱动中牛
  • 注册日期2003-02-03
  • 最后登录2004-07-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-03-05 00:25
用下一个地址重新启动DMA。
mailway
驱动牛犊
驱动牛犊
  • 注册日期2002-08-15
  • 最后登录2013-11-25
  • 粉丝0
  • 关注0
  • 积分134分
  • 威望24点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-03-05 08:38
楼上这位老兄,是这样的,因为想继续接着上次断点处续传,那么如何才能知道断点处的下一个地址是多少呢?比如我向公共缓冲区里写数据,到一定时间后启动dma传输,在传输的过程中接收到了从设备发出的停止传输信号stop#,在一定时间后,从设备可以通过中断或者io端口的形式告诉主设备问题已经得到解决,可以继续传输了,这个时候在程序中重新启动dma的地址如何确定,谢谢!
X_ray
驱动中牛
驱动中牛
  • 注册日期2003-02-03
  • 最后登录2004-07-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-03-05 11:13
DMA完成后可以对比实际传送字节数或直接访问DMA控制器的计数器。
也可以在传送前往BUFFER中写特定字符。
mailway
驱动牛犊
驱动牛犊
  • 注册日期2002-08-15
  • 最后登录2013-11-25
  • 粉丝0
  • 关注0
  • 积分134分
  • 威望24点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-03-05 11:34
明白了,谢谢!
游客

返回顶部