Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Минимальный размер раздела FAT
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
Sergey_Aleksandrovi4
В сети уйма статей с описанием максимально-допустимого размера раздела в файловых системах FAT16 и FAT32, а вот про минимальный размер ни слова. Начал разбираться с драйвером FAT от ELM Chan'a. В функции создания раздела f_mkfs()
Код
    // b_vol - Базовый LBA раздела
    // sz_vol - Общее число секторов в составе раздела

    /* Create a single-partition in this function */
    if (disk_ioctl(pdrv, GET_SECTOR_COUNT, &sz_vol) != RES_OK) LEAVE_MKFS(FR_DISK_ERR);
    b_vol = (opt & FM_SFD) ? 0 : 63;        /* Volume start sector */
    if (sz_vol < b_vol) LEAVE_MKFS(FR_MKFS_ABORTED);
    sz_vol -= b_vol;                        /* Volume size */

    if (sz_vol < 128) LEAVE_MKFS(FR_MKFS_ABORTED);    /* Check if volume size is >=128s */

Т.е. начальный сектор раздела начинается с #63 (либо #0 в случае использования SFD-тома). Но дальнейшая проверка (не менее 128 секторов) не даёт создать том. Выходит, что при минимальном размере сектора 512 байт минимальный размер диска должен быть 512*128=64 кБайт.
Для чего мне это надо? Требуется создать FAT-раздел внутри встроенной в МК Flash (свободно 20 кБайт, т.е. 40 LBA).
Библиотека всё-таки рассчитана на носители большого размера (SD-карты) и число 128 секторов могло появиться для ускорения/оптимизации работы алгоритма. Поэтому, если это субъективная реализация автора библиотеки, то попробую исправить руками хардкод. Если требования стандарта - откажусь от реализации FAT.
Полного и понятного описания структуры FAT (для нубов с картинками) пока не нашёл. Первый личный опыт работы с файловой системой )
PS На отладочной плате stmF0-Discovery установлен stm32F103C8 с 64 кБайтами Flash и при этом как-то FAT на нём реализован: при подключении по USB определяется как съёмный диск.
_pv
FAT12
может поможет это:
https://github.com/mattairtech/SAMD-MSD-Boo...rtual_flash_mem
всё же ближе к тому что сделать хотите.
Den64
Нажмите для просмотра прикрепленного файла старая статья из журнала. Может пригодится.
Есть ещё старая статья об FAT32 на английском от микрософт. Гуглится легко.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.