fmt = check_fs(fs, bsect);第一次挂载该函数的返回值为0,第二次以后就一直是3了,哪位大佬能指点一下?
第一次挂载文件成功了,并且对文件系统的文件操作都是正常的,但是重新上电后,就不能挂载成功了,挂载不成功也就看不了之前存储的文件了,请问这个怎么解决呢?
问的太笼统了,自己单步调试看问题出在哪一步了。。
文件系统使用首次需要格式化,但以后就不能再格式化否则就等于将原来的内容格式化丢了。我当时是这样的,你可以在非易失存储上存储一个标记来判断是否格式化过了;或者先正常操作,如果失败再去格式化,这样在第一次会失败,以后就不会有问题了
就是说第一次挂载文件系统成功了,然后我创建了一个文件并且往里面写了东西,然后我断电重新上电后,在初始化挂载文件系统时会失败,以前的文件也看不到了,我单步调试看了下第二次挂载每次都会在这里返回了

有可能是你的某个操作损坏了分区表,查看下你的代码除了文件系统,是不是其他地方也对flash进行操作了
@aozima
我用您的RealTouch_20121210程序每次都能挂载程序,而且先下载一次RealTouch_20121210,再下载自己移植的rt_thread官网的最新挂载程序,是可以挂载成功的,但是重启之后就再也不行了
@sync 我把其他程序屏蔽了 还是一样的