文件系统¶
FAQ1 文件系统挂载(mount)失败是什么原因?¶
可以根据错误打印确认失败原因,常见错误:
打印
There is no space to mount this file system:挂载的文件系统数量超出限制(DFS_FILESYSTEMS_MAX)。
DFS_FILESYSTEMS_MAX可在menuconfig中配置,用于定义系统支持的最大文件系统挂载数量,需要根据实际文件系统分区数量配置。
当前配置的文件系统数量可在FLASH分区文件中查看,例如, 如下有6个文件系统分区, 则DFS_FILESYSTEMS_MAX需要 >= (6 + 1) (+1是因为dev默认占一个enry):
打印
There is no space to register this file system:挂载的文件系统类型超出限制(DFS_FILESYSTEM_TYPES_MAX)。DFS_FILESYSTEM_TYPES_MAX可在menuconfig中配置,用于定义系统支持的最大文件系统类型(elm、lfs、ram等)数量:
FAQ2 新增或调整文件系统分区后,需要同步检查哪些配置?¶
可以按下面顺序排查,避免只改了分区表但运行时挂载失败:
在 FLASH 分区表的
FLASH_MAPsheet 中增加/调整分区,确认PARTITION_TYPE选择为目标文件系统类型,例如FS_FAT或FS_LFS;确认分区
SIZE、OFFSET没有重叠,并满足对齐要求;如果该分区需要放资源,在
FS_RES_PATHsheet 中确认资源名、分区名和子路径是否对应;在
menuconfig中打开对应文件系统能力,例如 FAT 需要RT_USING_DFS和RT_USING_ELMFAT,LittleFS 需要打开对应 LFS 配置;如果挂载数量或文件系统类型变多,同步调大
DFS_FILESYSTEMS_MAX和DFS_FILESYSTEM_TYPES_MAX。
分区表字段说明请参考 FLASH_MAP说明 和 FS_RES_PATH说明;FAT 配置请参考 FAT文件系统配置,LittleFS 适用场景请参考 LittleFS 适用场景与限制。