有关s3c2410 usb mass storage gadget驱动的一个bug的困惑
时间:2007-08-17
来源:互联网
最近在做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的各位大侠能不能提供一些建议~?谢过了!
这个bug是这样的:当我在板子的flash上读写整个的文件(比如copy,delete)没问题。建立一个doc或者是bmp之类的文件,修改,保存,也没问题。问题出在txt文本文件的修改保存上。发现会出现没法正确保存的问题。有时候不能保存(即板子重启后再插,就发现没保存。但是单单如果拔了usb线再插,是可以保存的,奇怪就奇怪在这。)。但是有时候就可以保存。我试验了很多次,好像也没有明显的规律,能不能保存修改的内容,是随机的。
然后,我在bus hound里面,把txt修改了成功保存的,和没有成功保存的,截到的PC端的各种SCSI命令做了一个比较,发现没啥区别。。。。。又把file_storage.c里面的do_write()函数的相关的信息printf()出来,也就是显示写的地址,长度等等,也没啥区别。。。线索就此中断
不知道做过usb gadget mass storage的各位大侠能不能提供一些建议~?谢过了!
作者: semiyd 发布时间: 2007-08-17
什么文件系统呢
作者: AIKO_sex 发布时间: 2007-08-17
我的flash MTD分区是24MB的,所以用windows下格式化的FAT16的
作者: semiyd 发布时间: 2007-08-17
楼主可不可以写一个做从设备(gadget)的一些步骤上的说明啊,我也要做这个,但还是不很清楚,请点拨一下!
作者: czliuzhuo 发布时间: 2008-09-01
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28