在f_mount/ find_volume/ fmt = check_fs中根据fmt的值,来确定是否为fat文件系统。然后进入check_fs,先进行move_window操作,然后判断结尾是否为0xAA55,开头的跳转指令是否是0XEB 0X** 0X90,然后判断是否找到FAT或是FAT3字样;/在move_window函数中,主要实现了fs->win[]中的数据回写,然后重新读取指定扇区的内容,结果,问题就出来这里,
在读取0扇区的内容时,读取的内容错误,因此就导致了在check_fs函数中判断扇区结尾是否是0XAA55时,发生了错误,
反回了3,然后在find_volume函数中,判断fmt时,返回了FR_NO_FILESYSTEM;
以上是我在百度以及调试的时候找到的最符合我目前情况的解释,请问有什么解决办法吗。




