FATFS0.12c到f_mount()卡死,求助

2019-07-21 00:48发布

本帖最后由 miniboy 于 2019-5-26 12:19 编辑

STM32F105RC,使用FATFS 0.12正常。尝试将FATFS换成0.12C,每到 f_mount()时卡死,跟踪调试时,运行到 ff.c文件中 res = find_volume(&path, &fs, 0);        /* Force mounted the volume */,停止不前了。卡在这里了。
再往下一步跟踪,死在这里:fmt = check_fs(fs, bsect);                        /* Load sector 0 and check if it is an FAT-VBR as SFD */

不知道如何下手处理了,请哪位来指点一下,谢谢。
res_flash = f_mount(&fs1_flash,"1:",1);                       //fs1_flash为全局变量,需要固定内存空间。
若将最后一个参数改为0,非即时挂载,到后面文件 f_open() 时卡死。
res_flash = f_mkfs("1:",FM_FAT, 0, work, sizeof work);



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
1条回答
miniboy
1楼-- · 2019-07-21 00:57
困扰我许久了,今天终于解决了。感谢论坛里诸位大神的回贴帮助。
解决办法:
ffconf.h文件中,我将 _MAX_SS 和 _MIN_SS均置为512了……问题所在。
改为:
#define        _MIN_SS                512
#define        _MAX_SS                4096
即可。

一周热门 更多>