我前几天做了一个用stm32内部flash模拟的400K小U盘。
下来要搞FATFS文件系统,参照原子哥的例子,最后移植成功了,我把小U盘和FATFS放在了一起。
这样,插上USB和串口线,不久可以直接在PC上面复制,改动文件,然后通过串口调试助手,读取FATFS文件系统了么?
USB和FATFS都很好用,FATFS测试读写,建立文件夹,txt文件,都很好用。
问题是,我直接连接USB到电脑的话,电脑提示需要格式化这个200K的小U盘(后来加了文件系统flash占用大了,就把分配给小U盘的空间改小了)。
我选FAT格式的 4096字节簇大小(我查百度,fat32默认是4096字节的簇大小),格式化好了,当作U盘用很好。
但是我同事插上串口,用调试助手调试,打开文件夹什么的,就会出现0x0D错误,这个错误是no file system。也就是没有文件系统阿。
我通过f_mkfs函数(0,0,4096)将它用FATFS系统格式化,格式化之后,通过串口发送调试函数,都很好用。
但是PC上面的操作没用了,下次再插USB,电脑上会提示需要格式化。。
也就是说我做的固件 电脑和FATFS的格式化不一致阿。
有人遇到相同情况么,求指教阿,我继续去查查资料,读取flash看看
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
你好 stm32内部flash做U盘 有代码吗
但是在我自己的板子上VET6,无法格式化,怎么回事??
---------------------------------
这俩芯片应该是通用的吧?
估计是你的FLASH 驱动里面的操作没搞好,
可以参照我的帖子仿真一下每一步的操作,也熟悉下文件系统格式等。
按理说你这俩芯片只是管脚不一样,不大可能不行。
我也遇到了这个问题,左边的电脑的格式化后的MBR,右边是FATFS自己格式化的MBR.区别很大.
d:1.bmp
高手指点一下,谢谢.
一周热门 更多>