Aniruddha Kanhere 25129e5221 Added API allowing user to choose settings at runtime - replacement of PR#49 (#51)
* Adding in FF_SDDiskInitWithSettings optional initialization to support runtime initial mounting options.

* FAT-#50: Fixing duplicate definition of st_atime, st_mtime, st_ctime for linux.

* Fixing formatting with diff provided using uncrustify.

---------

Co-authored-by: Paul Helter <paulheltera@gmail.com>
2023-08-24 14:05:03 -07:00

FreeRTOS+FAT: DOS Compatible Embedded FAT File System

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 the RTOS.

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.

To consume FreeRTOS+FAT

Consume with CMake

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.

Consuming stand-alone

It is recommended to use this repository as a submodule. Please refer to Git Tools — Submodules.

Notes

This project is undergoing optimizations or refactorization to improve memory usage, modularity, documentation, demo usability, or test coverage.

Description
No description provided
Readme 954 KiB
Languages
C 99.3%
CMake 0.7%