Функция f_mkfs создает файловую систему FAT на логическом диске.
FRESULT f_mkfs (
BYTE Drive, /* Логический номер диска */
BYTE PartitioningRule, /* Привило разделения на разделы */
UINT AllocSize /* Размер кластера (allocation unit) */
);
Параметры
- Drive
- Логический номер диска (0-9), который будет форматироваться.
- PartitioningRule
- Указывает принцип разделения на разделы (partitioning rule), FDISK(0) или SFD(1). В некоторых случаях этот аргумент игнорируется.
- AllocSize
- Принудительно задает размер единицы данных (allocation unit, cluster) в байтах. Значение должно быть числом, равным степени двойки, и находится между размером сектора и 128 * размер сектора. Когда в этом параметре задано значение 0, то размер кластера будет выбран автоматически по размеру форматируемого тома.
Возвращаемые значения
FR_OK, FR_DISK_ERR, FR_NOT_READY, FR_WRITE_PROTECTED, FR_INVALID_DRIVE, FR_NOT_ENABLED, FR_MKFS_ABORTED, FR_INVALID_PARAMETER
Описание
Функция f_mkfs создает том FAT на логическом диске. Когда указано partitioning rule FDISK, главный раздел (primary partition) будет занимать весь объем создаваемого диска, и том FAT будет создан на этом разделе. Когда указано partitioning rule SFD, то том FAT начнется с первого сектора физического диска.
Если логический диск при привязан к любому разделу (partition 1-4) при использовании опции поддержки нескольких разделов (_MULTI_PARTITION), том FAT будет создан на указанном разделе. В этом случае второй аргумент будет игнорироваться. Перед использовании функции f_mkfs физический диск должен быть разбит на разделы функцией f_fdisk или любым другим инструментом.
Имейте в виду, что есть два принципа разбиения на разделы, FDISK и SFD. Формат FDISK обычно используется для жестких дисков HDD, MMC, SDC и CFC. Он может использоваться для деления физического диска на один или большее количество разделов, с созданием таблицы разделов в MBR (Master Boot Record). Формат SFD является методом без использования разделов диска. Том FAT начинается с первого сектора физического диска, и таблица разделов отсутствует. Если используется гибкий диск (floppy disk), Microdrive, оптический диск, или физический носитель super-floppy.
Разновидности (подтипы) FAT FAT12/FAT16/FAT32 определяются по количеству кластеров на томе и никак иначе, в соответствии со спецификацией FAT от Microsoft. Таким образом, подтип FAT будет выбран исходя из размера тома и указанного размера кластера (третий параметр функции). Размер кластера влияет на быстродействие файловой системы, и увеличение размера кластера увеличивает быстродействие.
Когда количество кластеров становится близким к границе перехода между подтипами FAT, функция может вернуть ошибку FR_MKFS_ABORTED.
Краткая информация (QuickInfo)
Функция доступна, когда _FS_READOLNY == 0 и _USE_MKFS == 1.
См. также
Volume management (управление томами), f_fdisk