请教Fatfs中磁盘格式化时为什么要求扇区数量必须大于128
最近项目中使用fatfs0.14,使用MCU内部flash,管理几个小文件,分配了50个扇区,每个扇区2K,总计100KByte空间,在执行f_mkfs函数时,每次都会返回FR_DISK_ERR( A hard error occurred in the low level disk I/O layer低级磁盘I/O层发生硬错误),DEBUG发现每次都会在f_mkfs函数的这一行跳出,if (disk_ioctl(pdrv, GET_SECTOR_COUNT, &n_vol) != RES_OK || n_vol < 128)
return FR_DISK_ERR;
这行意思是获取磁盘扇区数量,而我的数量是50,50<128,因此返回了错误代码,请问有了解文件系统内部机制的老师吗,为什么磁盘扇区数量一定要大于128呢?那做个20k的U盘岂不是不可能了? 本帖最后由 Himem 于 2023-7-11 11:11 编辑
原则上fat12最小7扇区
但是mcu上这么搞fatfs优势是什么
我选择flashdb的blob对象 Himem 发表于 2023-7-11 11:10
原则上fat12最小7扇区
但是mcu上这么搞fatfs优势是什么
(引用自2楼)
主要是方便和PC交互,PC端查看修改配置文件方便一些, 本帖最后由 Himem 于 2023-7-11 13:11 编辑
EvanXU 发表于 2023-7-11 11:38
主要是方便和PC交互,PC端查看修改配置文件方便一些,
(引用自3楼)
模拟U盘吗,手滑格式化那不就寄了
可以考虑USB-MTP,另外一端不关心文件系统 欢迎各位老师顶一下啊
页:
[1]