Перейти к содержанию
    

Минимальный размер раздела FAT

В сети уйма статей с описанием максимально-допустимого размера раздела в файловых системах 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 определяется как съёмный диск.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

FAT12

может поможет это:

https://github.com/mattairtech/SAMD-MSD-Boo...rtual_flash_mem

всё же ближе к тому что сделать хотите.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

fat.pdf старая статья из журнала. Может пригодится.

Есть ещё старая статья об FAT32 на английском от микрософт. Гуглится легко.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...