2019-01-09 21:26:51 +01:00
|
|
|
config FS_LITTLEFS
|
|
|
|
bool "LITTLEFS File System"
|
|
|
|
default n
|
2019-01-27 19:31:28 +01:00
|
|
|
depends on !DISABLE_MOUNTPOINT
|
2019-01-09 21:26:51 +01:00
|
|
|
---help---
|
2021-08-12 09:17:01 +02:00
|
|
|
Build the LITTLEFS file system. https://github.com/littlefs-project/littlefs.
|
|
|
|
|
|
|
|
if FS_LITTLEFS
|
2023-02-13 09:55:46 +01:00
|
|
|
config FS_LITTLEFS_PROGRAM_SIZE_FACTOR
|
|
|
|
int "LITTLEFS Program size multiplication factor"
|
2021-08-12 09:17:01 +02:00
|
|
|
default 4
|
|
|
|
---help---
|
2023-02-13 09:55:46 +01:00
|
|
|
A factor used for multiplying program size.
|
|
|
|
|
|
|
|
The result is used as the minimum size of a block program in bytes.
|
|
|
|
All program operations will be a multiple of the result.
|
|
|
|
|
|
|
|
config FS_LITTLEFS_READ_SIZE_FACTOR
|
|
|
|
int "LITTLEFS Read size multiplication factor"
|
|
|
|
default FS_LITTLEFS_PROGRAM_SIZE_FACTOR
|
|
|
|
---help---
|
|
|
|
A factor used for multiplying read size.
|
|
|
|
|
|
|
|
The result is used as the minimum size of a block read in bytes.
|
|
|
|
All read operations will be a multiple of the result.
|
|
|
|
|
|
|
|
config FS_LITTLEFS_BLOCK_SIZE_FACTOR
|
|
|
|
int "LITTLEFS Block size multiplication factor"
|
|
|
|
default 1
|
|
|
|
---help---
|
|
|
|
A factor used for multiplying block size and dividing block count.
|
|
|
|
|
|
|
|
The result is size of an erasable block in bytes. This does not impact ram consumption
|
|
|
|
and may be larger than the physical erase size. However, non-inlined
|
|
|
|
files take up at minimum one block. Must be a multiple of the read and
|
|
|
|
program sizes.
|
|
|
|
|
|
|
|
config FS_LITTLEFS_CACHE_SIZE_FACTOR
|
|
|
|
int "LITTLEFS Cache size multiplication factor"
|
|
|
|
default FS_LITTLEFS_READ_SIZE_FACTOR
|
|
|
|
---help---
|
|
|
|
A factor used for multiplying cache size.
|
|
|
|
|
|
|
|
The result is size of block caches in bytes.
|
|
|
|
Each cache buffers a portion of a block in RAM.
|
|
|
|
The littlefs needs a read cache, a program cache, and one additional
|
|
|
|
cache per file. A larger cache can improve performance by storing more
|
|
|
|
data and reducing the number of disk accesses. It must be a multiple of the
|
|
|
|
read and program sizes, and a factor of the block size.
|
|
|
|
|
|
|
|
config FS_LITTLEFS_LOOKAHEAD_SIZE
|
|
|
|
int "LITTLEFS Lookahead size"
|
|
|
|
default 0
|
|
|
|
---help---
|
|
|
|
Size of the lookahead buffer in bytes. A larger lookahead buffer
|
|
|
|
increases the number of blocks found during an allocation pass. The
|
|
|
|
lookahead buffer is stored as a compact bitmap, so each byte of RAM
|
|
|
|
can track 8 blocks. Must be a multiple of 8.
|
|
|
|
|
|
|
|
Set value 0 for enabling internal calculation.
|
|
|
|
|
2021-08-12 09:17:01 +02:00
|
|
|
config FS_LITTLEFS_BLOCK_CYCLE
|
2023-02-13 09:55:46 +01:00
|
|
|
int "LITTLEFS Block cycle"
|
2021-08-12 09:17:01 +02:00
|
|
|
default 200
|
|
|
|
---help---
|
2023-02-13 09:55:46 +01:00
|
|
|
Number of erase cycles before littlefs evicts metadata logs and moves
|
|
|
|
the metadata to another block. Suggested values are in the
|
|
|
|
range 100-1000, with large values having better performance at the cost
|
|
|
|
of less consistent wear distribution.
|
|
|
|
|
|
|
|
Set to -1 to disable block-level wear-leveling.
|
2022-12-01 13:28:38 +01:00
|
|
|
|
|
|
|
config FS_LITTLEFS_NAME_MAX
|
|
|
|
int "LITTLEFS LFS_NAME_MAX"
|
|
|
|
default NAME_MAX
|
|
|
|
---help---
|
|
|
|
Configure LFS_NAME_MAX value for LITTLEFS file systems.
|
|
|
|
|
|
|
|
Note: Using a larger value for this configuration makes the lfs_info
|
|
|
|
structure larger and thus increases the stack usage.
|
|
|
|
|
|
|
|
Note: To mount a LITTLEFS filesystem, this configuration should
|
|
|
|
equal to or larger than the corresponding on-disk parameter.
|
|
|
|
|
|
|
|
Note: Many of tools to generate LITTLEFS images use 255 for
|
|
|
|
this by default.
|
|
|
|
|
|
|
|
Note: NuttX releases prior to 10.4.0 (exclusive) uses 255
|
|
|
|
for this. If you need to mount LITTLEFS filesystems used by
|
|
|
|
previous versions of NuttX, it's safer to use 255.
|
|
|
|
|
|
|
|
config FS_LITTLEFS_FILE_MAX
|
|
|
|
int "LITTLEFS LFS_FILE_MAX"
|
|
|
|
default 2147483647
|
|
|
|
---help---
|
|
|
|
Configure LFS_FILE_MAX value for LITTLEFS file systems.
|
|
|
|
|
|
|
|
Note: To mount a LITTLEFS filesystem, this configuration should
|
|
|
|
equal to or larger than the corresponding on-disk parameter.
|
|
|
|
|
|
|
|
Note: Many of tools to generate LITTLEFS images use 2147483647
|
|
|
|
for this by default.
|
|
|
|
|
|
|
|
config FS_LITTLEFS_ATTR_MAX
|
|
|
|
int "LITTLEFS LFS_ATTR_MAX"
|
|
|
|
default 1022
|
|
|
|
---help---
|
|
|
|
Configure LFS_ATTR_MAX value for LITTLEFS file systems.
|
|
|
|
|
|
|
|
Note: To mount a LITTLEFS filesystem, this configuration should
|
|
|
|
equal to or larger than the corresponding on-disk parameter.
|
|
|
|
|
|
|
|
Note: because NuttX's LITTLEFS driver does never use custom attributes,
|
|
|
|
the value of this configuration doesn't matter much. The default value
|
|
|
|
here is chosen to be compatible with filesystems created by external
|
|
|
|
tools. Unlike LFS_NAME_MAX, a large LFS_ATTR_MAX value doesn't
|
|
|
|
have any runtime overhead, at least with the implementation as of
|
|
|
|
writing this.
|
|
|
|
|
|
|
|
Note: Many of tools to generate LITTLEFS images use 1022
|
|
|
|
for this by default.
|
2021-08-12 09:17:01 +02:00
|
|
|
endif
|