105 lines
3.0 KiB
Plaintext
105 lines
3.0 KiB
Plaintext
# Copyright (c) 2019 Bolt Innovation Management, LLC
|
|
# Copyright (c) 2019 Peter Bigot Consulting, LLC
|
|
# Copyright (c) 2020 Nordic Semiconductor ASA
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
config FILE_SYSTEM_LITTLEFS
|
|
bool "LittleFS support"
|
|
depends on FILE_SYSTEM
|
|
depends on FLASH_MAP
|
|
depends on FLASH_PAGE_LAYOUT
|
|
help
|
|
Enables LittleFS file system support.
|
|
|
|
if FILE_SYSTEM_LITTLEFS
|
|
|
|
menu "LittleFS Settings"
|
|
visible if FILE_SYSTEM_LITTLEFS
|
|
|
|
config FS_LITTLEFS_NUM_FILES
|
|
int "Maximum number of opened files"
|
|
default 4
|
|
help
|
|
This is a global maximum across all mounted littlefs filesystems.
|
|
|
|
config FS_LITTLEFS_NUM_DIRS
|
|
int "Maximum number of opened directories"
|
|
default 4
|
|
help
|
|
This is a global maximum across all mounted littlefs filesystems.
|
|
|
|
config FS_LITTLEFS_READ_SIZE
|
|
int "Minimum size of a block read"
|
|
default 16
|
|
help
|
|
All read operations will be a multiple of this value.
|
|
|
|
config FS_LITTLEFS_PROG_SIZE
|
|
int "Minimum size of a block program"
|
|
default 16
|
|
help
|
|
All program operations will be a multiple of this value.
|
|
|
|
config FS_LITTLEFS_CACHE_SIZE
|
|
int "Size of block caches in bytes"
|
|
default 64
|
|
help
|
|
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. Larger caches can improve performance by storing
|
|
more data and reducing the number of disk accesses. Must be a
|
|
multiple of the read and program sizes of the underlying flash
|
|
device, and a factor of the block size.
|
|
|
|
config FS_LITTLEFS_LOOKAHEAD_SIZE
|
|
int "Size of lookahead buffer in bytes"
|
|
default 32
|
|
help
|
|
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.
|
|
|
|
config FS_LITTLEFS_BLOCK_CYCLES
|
|
int "Number of erase cycles before moving data to another block"
|
|
default 512
|
|
help
|
|
For dynamic wear leveling, the number of erase cycles before data
|
|
is moved to another block. Set to a non-positive value to
|
|
disable leveling.
|
|
|
|
menuconfig FS_LITTLEFS_FC_MEM_POOL
|
|
bool "Enable flexible file cache sizes for littlefs"
|
|
help
|
|
littlefs requires a per-file buffer to cache data. For
|
|
applications that use the default configuration parameters a
|
|
memory slab is reserved to support up to
|
|
FS_LITTLE_FS_NUM_FILES blocks of FS_LITTLEFS_CACHE_SIZE bytes.
|
|
|
|
When applications customize littlefs configurations and
|
|
support different cache sizes for different partitions this
|
|
preallocation is inadequate.
|
|
|
|
Select this feature to enable a memory pool allocator for
|
|
littlefs file caches.
|
|
|
|
if FS_LITTLEFS_FC_MEM_POOL
|
|
|
|
config FS_LITTLEFS_FC_MEM_POOL_MIN_SIZE
|
|
int "Minimum block size for littlefs file cache memory pool"
|
|
default 16
|
|
|
|
config FS_LITTLEFS_FC_MEM_POOL_MAX_SIZE
|
|
int "Maximum block size for littlefs file cache memory pool"
|
|
default 1024
|
|
|
|
config FS_LITTLEFS_FC_MEM_POOL_NUM_BLOCKS
|
|
int "Number of maximum sized blocks in littlefs file cache memory pool"
|
|
default 2
|
|
|
|
endif # FS_LITTLEFS_FC_MEM_POOL
|
|
|
|
endmenu
|
|
|
|
endif # FILE_SYSTEM_LITTLEFS
|