使用littlefs连续存储字符串,步骤为open,write,close重复。大概写到48k左右就提示: corrupted dir pair at{0x0,0x1},连续几次都是一样?有谁遇到过类似问题吗?或者,提示损坏以后数据可以恢复吗?
corrupted dir pair at{0x0,0x1}
查看更多
用的哪个版本?升级下新版本吧!
会不会是操作太频繁了,但应该不至于这样样,可以换个硬件介质试试,排查问题在哪儿
目前使用WS25Q128也遇到这个问题,注释掉楼上说的函数,上电会有新问题,目前使用的最新的2.5.0
欢迎发表与嵌入式相关的技术分享、开发技巧、工具介绍、技术设想、职业心得、行业评论等对他人有启发,排版优雅的文章
回到 顶部
发布 问题
分享 好友
手机 浏览
投诉 建议
回到 底部
是最新版本
怀疑flash读写数据有误,我有个想法:
期待你进一步测试结果。
嗯,最终原因找到了,是移植的flash驱动的写操作已经自带擦除,所以littlefs的erase函数需要为空,我的erase函数写了block擦除的函数,相当于写数据会擦除两次,所以后面会出问题。后面测试了,flash直到写满也没问题了,囧╯□╰。。。我用的是at45db321,不太清楚令人诟病在哪?也是第一次用这个片子。
原来我也是这个问题,太感谢了!!!@哈喽杰杰
@哈喽你好啊 是的,您说的太对了,把_lfs_flash_erase 的内容注释掉就解决问题了,非常感谢