Skip to content

FreeRTOS-Plus-FAT

Setup

Platform/PlusFat/ wraps FreeRTOS-Plus-FAT as the File layer (FreeRTOS-Plus-FAT documentation).

Fills the File role — the primitive beneath a BlockDevice.

What it ships

Header What it is
SolidSyslogPlusFatFile.h FreeRTOS-Plus-FAT file I/O behind the SolidSyslogFile vtable, for a file-backed BlockDevice or Store on FreeRTOS targets.
SolidSyslogPlusFatFileErrors.h Error codes and Source identity for the PlusFatFile adapter.

Requirements

FreeRTOS — Plus-FAT is FreeRTOS-coupled. Supply an FF_Disk_t media driver and FreeRTOSFATConfig.h.

Security behaviour and obligations

The file layer offers no confidentiality or tamper evidence

Records are written as given. Detecting modification of a stored record, or keeping it unreadable, is the SecurityPolicy role's job, not this one — see at-rest cryptography.

Durability is bounded by the write, not guaranteed by it

The adapter flushes after every write, and that flush persists the record's data sectors. It does not commit the file's recorded size: the directory entry is written when the file is closed, and the store holds a block file open across appends. A power cut can therefore leave records on the medium that the recorded size excludes, and the store will not read those back.

It flushes the IO manager's cache rather than the file: ff_stdio.h declares ff_fflush but the library never defines it, so FF_FlushCache is the real durability primitive. Whether that reaches the medium is a property of your FF_Disk_t driver and the hardware under it. FAT is not a journalling filesystem, and a partially written directory entry is possible on a device that loses power mid-update.

The media driver is yours

The FF_Disk_t implementation is supplied by you, and so is any wear levelling: the store rewrites the same blocks in rotation, which on raw flash without wear levelling concentrates erase cycles.