[STM32F1] 文件系统还很“挑”U盘吗?

[复制链接]
2457|10
 楼主| 南海渔歌 发表于 2015-7-27 10:27 | 显示全部楼层 |阅读模式
手里一个韩国人给的U盘,平常用得挺正常。这回借用ST的例程AN3354,实现USB_IAP功能。例程里用的文件系统是EFSL,虽然枚举正常,但建立文件系统却总是出错,导致后面无法运行!这几天花了很多时间寻找问题,一无所获!   后来**一闪(其实也是这些天积累的必然结果),换了一个中国移动积分换来的U盘,则一切正常!:@岂有此理!呜呼哀哉!:Q
顺便说一句,我的APP程序里,也用到了U盘读写,但文件系统是FATFS,则对韩国U盘读写都挺正常。看来EFSL比FATFS还是弱很多哦。
songchenping 发表于 2015-7-27 10:51 | 显示全部楼层
貌似是挑的。我们在板子上用CF卡的时候碰到过不能识别有些卡。
donsbin 发表于 2015-7-27 11:35 | 显示全部楼层
我以前测试了三个牌子的U盘进行读写,发现闪迪第一;其次长城(办宽带送的);然后是金士顿
 楼主| 南海渔歌 发表于 2015-7-27 11:40 | 显示全部楼层
楼上,第一第二第三是啥意思?成功率吗?  我的移动送的金士顿还不错,韩国U盘只能被FATFS识别,无法被EFSL识别,我还有一个古老的32M优盘,连ST的USB库都不能识别:L
捉虫天师 发表于 2015-7-27 12:10 | 显示全部楼层
不是挑剔,是你那两个是假U盘。
yklstudent 发表于 2015-7-27 12:48 | 显示全部楼层
楼上怎么说?
 楼主| 南海渔歌 发表于 2015-7-27 13:02 | 显示全部楼层
假U盘? 这个“假”指的是山寨吧?  在电脑上使用都是正常的。
``` 发表于 2015-7-27 13:27 | 显示全部楼层
文件系统本身不挑:除非有些U盘不是FAT32/FAT(extFAT和NTFS应该都不支持吧)。
硬件挑。
有一个办法:
到Linux Kernel里找U盘驱动代码,看看做了哪些workaround,再改到自己代码上。
泰山特曲123 发表于 2015-7-27 22:21 来自手机 | 显示全部楼层
底层驱动兼容性有问题吧
fengzaideng 发表于 2015-7-28 09:51 | 显示全部楼层
文件系统是建立在底层驱动读写函数上的,它怎么会挑盘。
 楼主| 南海渔歌 发表于 2015-7-28 12:31 | 显示全部楼层
我的韩国U盘曾经装过大白菜系统文件  后来删除了  会不会是这个影响? 刚才我把它格式化了,则一切正常了!!!
是不是这个原因:ST例程用的USB库比较老了,兼容性不好,格式化U盘之后,才能完整地枚举;而我的APP程序里也有USB库,是比较新的版本,兼容性好,所以即使没格式化U盘,照样能正常读写。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

91

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部