FatFs - это общий модуль файловой системы FAT для небольших встроенных систем.

Модуль FatFs написан в соответствии с ANSI C (C89) и полностью отделен от уровня дискового ввода-вывода. Поэтому он не зависит от платформы. Он может быть встроен в небольшие микроконтроллеры с ограниченным ресурсом, такие как 8051, PIC, AVR, ARM, Z80, 78K и т. Д.

особенности

  • Файловая система FAT, совместимая с Windows.
  • Независимая платформа. Легко переносить.
  • Очень мало места для кода и рабочей области.
  • Различные варианты конфигурации:

    • Несколько томов (физические диски и разделы).
    • Несколько кодовых страниц ANSI/OEM, включая DBCS.
    • Поддержка длинных имен файлов в ANSI/OEM или Unicode.
    • Поддержка RTOS для многозадачной работы.
    • Поддержка нескольких секторов размером до 4 КБ.
    • Только для чтения, минимизированный API, буфер ввода-вывода и т. Д.

Уровень интерфейса приложения

  1. Доступ к файлам

    • f_open - Открыть / создать файл
    • f_close - Закройте открытый файл
    • f_read - Прочитать данные
    • f_write - Запись данных
    • f_lseek - Переместить указатель чтения / записи, увеличить размер
    • f_truncate - Обрезать размер
    • f_sync - Очистить кешированные данные
    • f_forward - Перенаправить данные в поток
    • f_gets - Прочитать строку
    • f_putc - Напишите персонаж
    • f_puts - Напишите строку
    • f_printf - Записать отформатированную строку
    • f_tell - Получить текущий указатель чтения / записи
    • f_eof - Тест на конец файла
    • f_size - Получить размер
    • f_error - Проверить на ошибку
  2. Доступ к каталогу

    • f_opendir - Открыть каталог
    • f_closedir - Закройте открытый каталог
    • f_readdir - Прочитать запись
    • f_findfirst - Откройте каталог и прочтите первый найденный элемент
    • f_findnext - Прочитать следующий найденный элемент
  3. Управление файлами / каталогами

    • f_stat - Проверить наличие файла или подкаталога
    • f_unlink - Удалить файл или подкаталог
    • f_rename - Переименовать или переместить файл или подкаталог
    • f_chmod - Изменить атрибут файла или подкаталога
    • f_utime - Изменить временную метку файла или подкаталога
    • f_mkdir - Создайте подкаталог
    • f_chdir - Изменить текущий каталог
    • f_chdrive - Изменить текущий диск
    • f_getcwd - Получить текущий каталог и диск
  4. Управление томом

    • f_mount - Зарегистрировать / отменить регистрацию рабочей области тома
    • f_mkfs - Создайте том FAT на логическом диске
    • f_fdisk - Создание логических дисков на физическом диске
    • f_getfree - Получить общий размер и свободный размер тома
    • f_getlabel - Получить метку тома
    • f_setlabel - Установить метку тома
  5. Уровень интерфейса управления устройствами

    Поскольку модуль FatFs представляет собой уровень файловой системы, он полностью отделен от физических устройств, таких как карта памяти, жесткий диск и любые типы устройств хранения. FatFs получает доступ к устройствам хранения через простой интерфейс, показанный ниже. Модуль управления устройством низкого уровня не является частью модуля FatFs. Предоставляется разработчиком. Также в загружаемых файлах доступны примеры реализации для некоторых платформ.

    • disk_status - Получить статус устройства
    • disk_initialize - Инициализировать устройство
    • disk_read - Прочитать сектор (ы)
    • disk_write - Запись сектора (ов)
    • disk_ioctl - Функции, зависящие от устройства управления
    • get_fattime - Получить текущее время.