使用fatfs的f_mkfs最小分区数是191原因:
在挂载ram_disk时参考的文章有提到:
“然后是GET_SECTOR_COUNT 用于f_mkfs格式化时获取可用的sector的数量,32bit-LBA的情况下至少为191”
自己也实际试过确实要不少于191,网上也没找到相关说明。debug跟踪到f_mkfs文件中
- 我定义的190个扇区每个扇区512个字节
- 进入f_mkfs代码中
这个函数会得到我设置的扇区数即190保存数sz_vol中
在这里sz_vol会被减去N_SEC_TRCK,N_SEC_TRCK宏定义为63,这个63组成如下
最小的文件系统结构:
- 引导扇区:1个扇区
- FAT表:假设需要128个扇区(具体数量取决于存储设备大小和FAT类型)
- 根目录区:32个扇区
- 其他必要的结构和保留扇区:30个扇区
- 总计:1 + 128 + 32 + 30 = 191个扇区
190-63 = 127 ;小于最少128个卷的大小,返回FR_MKFS_ABORTED,格式化失败;