docs/littlefs: Improve documentation about littelfs on NuttX

Describes some of the quirks of using littlefs on NuttX and links to an
issue discussing the sync semantics.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
This commit is contained in:
Matteo Golin 2025-08-06 10:54:06 -04:00 committed by Xiang Xiao
parent 2fa607796d
commit 28cd98c561

View file

@ -4,3 +4,28 @@ LITTLEFS
A little fail-safe filesystem designed for microcontrollers from
https://github.com/littlefs-project/littlefs.
In NuttX, littlefs can be interacted with through the virtual file system. This
means that it can be used normally with ``read()``, ``write()``, etc. calls, as
well as file operations (``fopen()``, ``fclose()``, etc).
.. note::
Since littlefs is power-fail safe and must commit writes before they are
permanently stored (corruption prevention mechanism), it is required to
periodically call ``fsync`` on the file to commit your writes. The exact
semantics of when littlefs files are committed are discussed in `this issue
<https://github.com/apache/nuttx/issues/15840>`_.
..note::
If your littlefs setup is experiencing crashes when you boot, try
troubleshooting by tweaking the ``BLOCK_SIZE_FACTOR`` options in Kconfig. A
factor of 4 works well for SD cards.
.. warning::
The littlefs support on NuttX only works with mtd drivers, for storage
devices such as flash chips, SD cards and eMMC. Performance on SD cards and
eMMC devices is worse than flash.