Jump to content

толстые

толстые
Разработчик(и) ЧаН
Первоначальный выпуск 26 февраля 2006 г .; 18 лет назад ( 26 февраля 2006 г. )
Стабильная версия
0,15 рэнда / 2022 г.
Репозиторий Архив релизов
Написано в АНСИ С
Платформа Intel 8051 , ПОС , AVR , ARM , Z80
Тип для встроенных систем Программное обеспечение
Лицензия Собственная лицензия, аналогичная BSD.
Веб-сайт elm-chan.org

FatFs — это легкая программная библиотека для микроконтроллеров и встраиваемых систем, реализующая поддержку файловой системы FAT / exFAT . [1] Написанный на чистом ANSI C , FatFs не зависит от платформы и легко портируется на многие аппаратные платформы, такие как 8051, PIC, AVR, ARM, Z80. FatFs спроектирован как потокобезопасный и встроен в ChibiOS , RT-Thread , ErlendOS, [2] и Zephyr операционные системы реального времени . [3]

Чаще всего FatFs используется в маломощных Embedded системах , где память ограничена, так как библиотека занимает мало места в оперативной памяти и программном коде. В минимальной версии рабочий код занимает от 2 до 10 КБ ОЗУ. [4]

FatFs спроектирован как уровень файловой системы , не зависящий от платформы и носителя, с которыми он используется. Это достигается за счет предоставления интерфейса доступа к среде передачи данных, который используется для связи с модулем управления устройством хранения данных, предоставляемым разработчиком. [5] Это означает, что FatF может работать с любым физическим устройством, таким как SD-карта или жесткий диск , на любой платформе, которая может запускать простой код C , если разработчик предоставляет интерфейс модуля управления.

Архитектура

[ редактировать ]
Схема слоев архитектуры FatFs

Архитектура библиотеки FatFs логически разделяет абстракции пользовательского приложения и зависящего от платформы кода. Пользовательское приложение и уровень дискового ввода-вывода низкого уровня ( драйвер ) должны быть добавлены разработчиком. [5] : 11  Также архитектура библиотеки подразумевает, что в системе может быть несколько запоминающих устройств с разными драйверами и библиотека может работать в многопоточной операционной системе. На уровне приложения скрыто, какой физический носитель используется.

В минимальной реализации уровень драйвера должен поддерживать как минимум эти 3 интерфейса: [5] : 14 

  • disk_status — вернуть статус блочного устройства (не инициализировано, отсутствует, защищено, готово)
  • disk_initialize — инициализировать физический диск
  • disk_read — прочитать блок с физического диска

Этот уровень абстракции позволяет разработчикам написать приложение один раз, а затем портировать его на разные платформы, меняя только реализацию драйвера. [6]

Лицензия

[ редактировать ]

FatFs имеет собственную минималистическую лицензию. [7] аналогично лицензии BSD . Это позволяет использовать его в коммерческих продуктах без раскрытия исходного кода . [5] : 12  Единственное условие — сохранить уведомление об авторских правах на случай повторного распространения исходного кода. Условия лицензии FatFs не распространяются на любые дистрибутивы в двоичной форме, такие как встроенный код и шестнадцатеричные файлы.

Проекты с использованием FatFs

[ редактировать ]
  • Arduino (STM32Duino) — порт платформы Arduino для STM32. микроконтроллеров [8]
  • ChibiOS/RT (RTOS) с открытым исходным кодом операционная система реального времени для микроконтроллеров.
  • Dreamshell — Unix-подобная операционная система, разработанная для Sega Dreamcast . игровой консоли
  • Flipper Zero — портативное многофункциональное устройство с открытым исходным кодом
  • Marlin (прошивка) — прошивка с открытым исходным кодом для 3D-принтеров и станков с ЧПУ.
  • ESP-IDF — официальная платформа разработки Интернета вещей для ESP32. SoC серии [9]
  • Prusa Mini — прошивка с открытым исходным кодом для недорогого 3D-принтера
  • RT-Thread — операционная система реального времени с открытым исходным кодом для встраиваемых систем. [10]
  • Zephyr — операционная система реального времени для встраиваемых систем, поддерживающая несколько архитектур.
  • ErlendOS — минимальная UNIX-подобная операционная система с открытым исходным кодом для встраиваемых систем.
  • EZ-Flash Omega — семейство флеш-карточек для Nintendo Game Boy Advance.
  1. ^ Иван Чибрарио Бертолотти (2016). Разработка встроенного программного обеспечения; Подход с открытым исходным кодом . Тинтин Ху. п. 361. ИСБН  9781466593930 . OCLC   932464067 .
  2. ^ "erlends-os/kmod/fatfs" . ГитЛаб . Проверено 16 ноября 2023 г.
  3. ^ И Цю (2020). Проектирование и реализация RT-потоковой операционной системы . Сюн Пусян, Тяньлун Чжу. п. 361. ИСБН  9780367554866 . OCLC   1197810565 .
  4. ^ «Сравнительная таблица использования памяти FatFs» . elm-chan.org . Проверено 17 июня 2022 г.
  5. ^ Jump up to: а б с д «Разработка приложений на STM32Cube с помощью FatF» (PDF) . СТМикроэлектроника . Проверено 22 июня 2022 г.
  6. ^ Бенинго, Джейкоб (2017). Разработка многоразового прошивки; Практический подход к API, HAL и драйверам . п. 255. ИСБН  9781484232972 . OCLC   1484232976 .
  7. ^ «Лицензия FatFs» . elm-chan.org . Проверено 17 июня 2022 г.
  8. ^ «Описание библиотеки FatFs в документации платформы Arduino» . Официальный сайт Ардуино . Проверено 17 июня 2022 г.
  9. ^ «Поддержка файловой системы FAT — ESP32 — — Последняя документация Руководства по программированию ESP-IDF» . docs.espressif.com . Проверено 27 июня 2022 г.
  10. ^ «Конфигурация файловой системы FatFs в операционной системе rt-thread» . www.rt-thread.io . Проверено 26 июня 2022 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 899ae88891a3d39c4a1fd74d1d9e95bb__1715220720
URL1:https://arc.ask3.ru/arc/aa/89/bb/899ae88891a3d39c4a1fd74d1d9e95bb.html
Заголовок, (Title) документа по адресу, URL1:
FatFs - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)