FatFs文件系统:f_mkfs
在驱动器上创建一个文件系统。
FRESULT f_mkfs ( BYTE Drive, /* 逻辑驱动器号 */ BYTE PartitioningRule, /* 分区规则 */ WORD AllocSize /* 分配单元大小 */ );
参数:
Drive 待格式化的逻辑驱动器号(0-9)。
PartitioningRule 当给定 0 时,首先在驱动器上的第一个扇区创建一个分区表,然后文件系统被创建在分 区上。这被称为 FDISK 格式化,用于硬盘和存储卡。当给定 1 时,文件系统从第一个扇区开始创建,而没 有分区表。这被称为超级软盘(SFD)格式化,用于软盘和可移动磁盘。
AllocSize 指定每簇中以字节为单位的分配单元大小。数值必须是 0 或从 512 到 32K 之间 2 的幂。当指 定 0 时,簇大小取决于卷大小。
返回值:
FR_OK (0)函数成功。
FR_INVALID_DRIVE 驱动器号无效。
FR_NOT_READY 由于驱动器中没有存储介质或任何其他原因,而导致磁盘驱动器无法工作。
FR_WRITE_PROTECTED 驱动器被写保护。
FR_NOT_ENABLED 逻辑驱动器没有工作区。
FR_DISK_ERR 由于底层磁盘 I/O 函数中的错误,而导致该函数失败。
FR_MKFS_ABORTED 由于下列原因之一,而导致函数在开始格式化前终止:
磁盘容量太小
参数无效
该驱动器不允许的簇大小。
描述:
f_mkfs 函数当_FS_READOLNY == 0 并且_USE_MKFS == 1 时可用。
f_mkfs 函数在驱动器中创建一个 FAT 文件系统。对于可移动媒介,有两种分区规则:FDISK 和 SFD, 通过参数 PartitioningRule 选择。FDISK 格式在大多数情况下被推荐使用。该函数当前不支持多分区,因此, 物理驱动器上已存在的分区将被删除,并且重新创建一个占据全部磁盘空间的新分区。 根据 Microsoft 发布的 FAT 规范,FAT 分类:FAT12/FAT16/FAT32,由驱动器上的簇数决定。因此,选 择哪种 FAT 分类,取决于卷大小和指定的簇大小。簇大小影响文件系统的性能,并且大簇会提高性能。