semiyd
驱动牛犊
驱动牛犊
  • 注册日期2005-01-25
  • 最后登录2007-08-21
  • 粉丝0
  • 关注0
  • 积分60分
  • 威望6点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
阅读:1382回复:1

有关s3c2410 usb mass storage gadget驱动的一个bug的困惑

楼主#
更多 发布于:2007-08-17 12:14
最近在做2410的usb mass storage gadget驱动。g_file_storage.ko挂载的是开发板上的flash的一块分区(insmod g_file_storage.ko file=/dev/mtdblock6 stall=0 removable=1)。盘符出来了,也可以读写了,不过发现了一个奇怪的bug~
这个bug是这样的:当我在板子的flash上读写整个的文件(比如copy,delete)没问题。建立一个doc或者是bmp之类的文件,修改,保存,也没问题。问题出在txt文本文件的修改保存上。发现会出现没法正确保存的问题。有时候不能保存(即板子重启后再插,就发现没保存。但是单单如果拔了usb线再插,是可以保存的,奇怪就奇怪在这。)。但是有时候就可以保存。我试验了很多次,好像也没有明显的规律,能不能保存修改的内容,是随机的。

然后,我在bus hound里面,把txt修改了成功保存的,和没有成功保存的,截到的PC端的各种SCSI命令做了一个比较,发现没啥区别。。。。。又把file_storage.c里面的do_write()函数的相关的信息printf()出来,也就是显示写的地址,长度等等,也没啥区别。。。线索就此中断


不知道做过usb gadget mass storage的各位大侠能不能提供一些建议~?谢过了!
coolily
驱动牛犊
驱动牛犊
  • 注册日期2007-05-21
  • 最后登录2009-02-02
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望7点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-12-19 14:10
请问是不是DMA 方式进行IN/OUT的啊??
游客

返回顶部