Программирование Файловые системы Библиотека FatFS: FATFS Sat, December 07 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


Библиотека FatFS: FATFS Печать
Добавил(а) microsin   

FATFS

Структура FATFS (file system object, FSO, объект файловой системы) удерживает в себе динамическую рабочую область отдельных логических дисков. Программа приложения регистрирует/дерегистрирует FSO для модуль FatFs вызовом функции f_mount. Инициализация диска осуществляется при первом доступе к файловой системе после f_mount или смены носителя (media change). Программа приложения не может менять ни одно из полей структуры FATFS.

typedef struct {
    BYTE    fs_type;      /* Подтип FAT (0: не смонтировано) */
    BYTE    drv;          /* Физический номер диска */
    BYTE    csize;        /* Секторов на кластер (1, 2, 4 ... 128) */
    BYTE    n_fats;       /* Количество копий FAT (1, 2) */
    BYTE    wflag;        /* win[] dirty flag */
    BYTE    fsi_flag;     /* fsinfo dirty flag */
    WORD    id;           /* ID монтирования файловой системы */
    WORD    n_rootdir;    /* Количество элементов директории root (FAT12/16) */
#if _MAX_SS != 512
    WORD    ssize;        /* Размер сектора (512, 1024, 2048, 4096) */
#endif
#if _FS_REENTRANT
    _SYNC_t sobj;         /* Идентификатор объекта синхронизации */
#endif
#if !_FS_READONLY
    DWORD   last_clust;   /* Последний выделенный кластер */
    DWORD   free_clust;   /* Количество свободных кластеров */
    DWORD   fsi_sector;   /* сектор fsinfo (FAT32) */
#endif
#if _FS_RPATH
    DWORD   cdir;         /* Кластер текущей директории (0: root) */
#endif
    DWORD   n_fatent;     /* Количество записей FAT (= количество кластеров + 2) */
    DWORD   fsize;        /* Секторов на FAT */
    DWORD   fatbase;      /* Начальный сектор области FAT */
    DWORD   dirbase;      /* Начальный сектор области корневой директории (FAT32: номер кластера) */
    DWORD   database;     /* Начальный сектор области данных */
    DWORD   winsect;      /* Текущий сектор, появляющийся в win[] */
    BYTE    win[_MAX_SS]; /* Окно доступа к диску для Directory, FAT (и для Data в конфигурации tiny) */
} FATFS;

[Ссылки]

1. FATFS - оригинал статьи на английском языке.

 

Добавить комментарий


Защитный код
Обновить

Top of Page