swordgun
驱动牛犊
驱动牛犊
  • 注册日期2004-10-25
  • 最后登录2005-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1339回复:1

SL811用Write10命令写U盘时的数据丢失问题?

楼主#
更多 发布于:2005-01-06 17:29
SL811做主机用Write10命令写U盘时经常出现数据丢失的情况。要写入数据的地方很多都是0xff,好像是Flash的块被擦除后没来得及写。这种情况是不是可以通过主机的延时等待来解决呢?应该在程序的哪里加入等待代码,等多久呢?请大侠指教,多谢!
coolwuya
驱动牛犊
驱动牛犊
  • 注册日期2004-06-29
  • 最后登录2007-08-24
  • 粉丝0
  • 关注0
  • 积分178分
  • 威望21点
  • 贡献值0点
  • 好评度18点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-01-10 16:16
数据丢失并不是可以用延时来解决的问题。

要确认buffer内容已经写入flash完毕后再进行下一次的bulk传输(这是正常流程,但处理起来的write的速度会很慢。USB MCU大多采用双buffer互换的方式来提高读写速度,所以在DMA到buffer跟flash内部buffer互换完毕后即可利用例外一个DMA buffer进行下一次的bulk接收)。所以问题是出在寄存器切换置位方面。看一下关键的引脚状态和flashrdy有没有正确设置。
USB开发交流
游客

返回顶部