Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
littlefs.h File Reference
#include <zephyr/types.h>
#include <kernel.h>
#include <storage/flash_map.h>
#include <lfs.h>

Go to the source code of this file.

Data Structures

struct  fs_littlefs
 Filesystem info structure for LittleFS mount. More...
 

Macros

#define FS_LITTLEFS_DECLARE_CUSTOM_CONFIG(name, read_sz, prog_sz, cache_sz, lookahead_sz)
 Define a littlefs configuration with customized size characteristics. More...
 
#define FS_LITTLEFS_DECLARE_DEFAULT_CONFIG(name)
 Define a littlefs configuration with default characteristics. More...
 

Macro Definition Documentation

◆ FS_LITTLEFS_DECLARE_CUSTOM_CONFIG

#define FS_LITTLEFS_DECLARE_CUSTOM_CONFIG (   name,
  read_sz,
  prog_sz,
  cache_sz,
  lookahead_sz 
)
Value:
static uint8_t __aligned(4) name ## _read_buffer[cache_sz]; \
static uint8_t __aligned(4) name ## _prog_buffer[cache_sz]; \
static uint32_t name ## _lookahead_buffer[(lookahead_sz) / sizeof(uint32_t)]; \
static struct fs_littlefs name = { \
.cfg = { \
.read_size = (read_sz), \
.prog_size = (prog_sz), \
.cache_size = (cache_sz), \
.lookahead_size = (lookahead_sz), \
.read_buffer = name ## _read_buffer, \
.prog_buffer = name ## _prog_buffer, \
.lookahead_buffer = name ## _lookahead_buffer, \
}, \
}
__UINT8_TYPE__ uint8_t
Definition: stdint.h:58

Define a littlefs configuration with customized size characteristics.

This defines static arrays required for caches, and initializes the littlefs configuration structure to use the provided values instead of the global Kconfig defaults. A pointer to the named object must be stored in the .fs_data field of a :c:type:struct fs_mount object.

To define an instance for the Kconfig defaults, use :c:macro:FS_LITTLEFS_DECLARE_DEFAULT_CONFIG.

To completely control file system configuration the application can directly define and initialize a :c:type:struct fs_littlefs object. The application is responsible for ensuring the configured values are consistent with littlefs requirements.

Note
If you use a non-default configuration for cache size, you must also select
embed:rst:inline :kconfig:`CONFIG_FS_LITTLEFS_FC_HEAP_SIZE` 
to relax the size constraints on per-file cache allocations.
Parameters
namethe name for the structure. The defined object has file scope.
read_szsee
embed:rst:inline :kconfig:`CONFIG_FS_LITTLEFS_READ_SIZE` 
prog_szsee
embed:rst:inline :kconfig:`CONFIG_FS_LITTLEFS_PROG_SIZE` 
cache_szsee
embed:rst:inline :kconfig:`CONFIG_FS_LITTLEFS_CACHE_SIZE` 
lookahead_szsee
embed:rst:inline :kconfig:`CONFIG_FS_LITTLEFS_LOOKAHEAD_SIZE` 

◆ FS_LITTLEFS_DECLARE_DEFAULT_CONFIG

#define FS_LITTLEFS_DECLARE_DEFAULT_CONFIG (   name)
Value:
CONFIG_FS_LITTLEFS_READ_SIZE, \
CONFIG_FS_LITTLEFS_PROG_SIZE, \
CONFIG_FS_LITTLEFS_CACHE_SIZE, \
CONFIG_FS_LITTLEFS_LOOKAHEAD_SIZE)
#define FS_LITTLEFS_DECLARE_CUSTOM_CONFIG(name, read_sz, prog_sz, cache_sz, lookahead_sz)
Define a littlefs configuration with customized size characteristics.
Definition: littlefs.h:70

Define a littlefs configuration with default characteristics.

This defines static arrays and initializes the littlefs configuration structure to use the default size configuration provided by Kconfig.

Parameters
namethe name for the structure. The defined object has file scope.