Sergey_Aleksandrovi4 2 14 августа, 2018 Опубликовано 14 августа, 2018 · Жалоба В сети уйма статей с описанием максимально-допустимого размера раздела в файловых системах 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 79 14 августа, 2018 Опубликовано 14 августа, 2018 · Жалоба FAT12 может поможет это: https://github.com/mattairtech/SAMD-MSD-Boo...rtual_flash_mem всё же ближе к тому что сделать хотите. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Den64 0 14 августа, 2018 Опубликовано 14 августа, 2018 · Жалоба fat.pdf старая статья из журнала. Может пригодится. Есть ещё старая статья об FAT32 на английском от микрософт. Гуглится легко. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться