FreeRTOS+FAT is an open source, thread aware and scalable FAT12/FAT16/FAT32 DOS /Windows compatible embedded FAT file system which was recently acquired by Real Time Engineers ltd. for use with and without FreeRTOS.
FreeRTOS+FAT is already used in commercial products, and is the file system used in the FTP and HTTP server examples that are documented on the FreeRTOS+TCP pages.
The standard C library style API includes a thread local errno value, and the lower level native API provides a rich set of detailed error codes.
For more details, please visit FreeRTOS+FAT page.
If using CMake, it is recommended to use this repository using FetchContent.
Add the following into your project's main or a subdirectory's CMakeLists.txt
:
include(FetchContent)
FetchContent_Declare( freertos_plus_fat
GIT_REPOSITORY https://github.com/FreeRTOS/Lab-Project-FreeRTOS-FAT.git
GIT_TAG master #Note: Best practice to use specific git-hash or tagged version
GIT_SUBMODULES "" # Don't grab any submodules since not latest
)
# ...
set( FREERTOS_PLUS_FAT_DEV_SUPPORT OFF CACHE BOOL "" FORCE)
# Select the native compile PORT
set( FREERTOS_PLUS_FAT_PORT "POSIX" CACHE STRING "" FORCE)
# Select the cross-compile PORT
if (CMAKE_CROSSCOMPILING)
# Eg. Zynq 2019_3 version of port
set(FREERTOS_PLUS_FAT_PORT "ZYNQ_2019_3" CACHE STRING "" FORCE)
endif()
FetchContent_MakeAvailable(freertos_plus_fat)
If you already have FreeRTOS in your project, you may skip the fetch content by setting
FREERTOS_PLUS_FAT_FETCH_FREERTOS
to OFF
.
It is recommended to use this repository as a submodule. Please refer to Git Tools — Submodules.
This project is undergoing optimizations or refactoring to improve memory usage, modularity, documentation, demo usability, or test coverage.