| # 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 (DEPRECATED)" |
| 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. |
| |
| This API is no longer approprate as the underlying storage solution |
| has been deprecated. Instead use FS_LITTLEFS_FC_HEAP_SIZE to |
| configure the size of a heap used to allocate caches for open files. |
| |
| # This option deprecated in 2.5.0 |
| if FS_LITTLEFS_FC_MEM_POOL |
| |
| config FS_LITTLEFS_FC_MEM_POOL_MIN_SIZE |
| int "(DEPRECATED)" |
| default 16 |
| help |
| This API is no longer approprate as the underlying storage |
| solution has been deprecated. Instead use |
| FS_LITTLEFS_FC_HEAP to configure the size of a heap used to |
| allocate caches for open files. |
| |
| config FS_LITTLEFS_FC_MEM_POOL_MAX_SIZE |
| int "Block size for littlefs file cache heap (DEPRECATED)" |
| default 1024 |
| help |
| A heap for file cache data is sized so that |
| FS_LITTLEFS_FC_MEM_POOL_NUM_BLOCKS allocations of size |
| FS_LITTLEFS_MEM_POOL_MAX_SIZE can be active simultaneously. |
| |
| This option configures the size. |
| |
| This API is no longer approprate as the underlying storage solution |
| has been deprecated. Instead use FS_LITTLEFS_FC_HEAP to configure |
| the size of a heap used to allocate caches for open files. |
| |
| config FS_LITTLEFS_FC_MEM_POOL_NUM_BLOCKS |
| int "Number of maximum sized blocks in littlefs file cache heap (DEPRECATED)" |
| default 2 |
| help |
| A heap for file cache data is sized so that |
| FS_LITTLEFS_FC_MEM_POOL_NUM_BLOCKS allocations of size |
| FS_LITTLEFS_MEM_POOL_MAX_SIZE can be active simultaneously. |
| |
| This option configures the total heap size based on the |
| block size. |
| |
| This API is no longer approprate as the underlying storage solution |
| has been deprecated. Instead use FS_LITTLEFS_FC_HEAP to configure |
| the size of a heap used to allocate caches for open files. |
| |
| endif # FS_LITTLEFS_FC_MEM_POOL |
| |
| endmenu # FS_LITTLEFS_FC_MEM_POOL |
| |
| config FS_LITTLEFS_FC_HEAP_SIZE |
| int "Enable flexible file cache sizes for littlefs" |
| default 0 |
| help |
| littlefs requires a per-file buffer to cache data. |
| |
| When applications customize littlefs configurations and support |
| different cache sizes for different partitions this preallocation is |
| inadequate as an application might require a small number of files |
| using a large cache size and a larger number of files using a |
| smaller cache size. In that case application should provide a |
| positive value for the heap size. Be aware that there is a |
| per-allocation overhead that affects how much usable space is |
| present in the heap. |
| |
| If this option is set to a non-positive value the heap is sized to |
| support up to FS_LITTLE_FS_NUM_FILES blocks of |
| FS_LITTLEFS_CACHE_SIZE bytes. Until FS_LITTLEFS_FC_MEM_POOL is |
| removed presence of that option changes the default to support |
| FS_LITTLEFS_FC_MEM_POOL_NUM_BLOCKS allocations of size |
| FS_LITTLEFS_MEM_POOL_MAX_SIZE |
| |
| endif # FILE_SYSTEM_LITTLEFS |