我前几天做了一个用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看看
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
已解决,内部FLASH在写入的时候上锁了···
一周热门 更多>