/ components / spiffs / Kconfig
Kconfig
  1  menu "SPIFFS Configuration"
  2  
  3      config SPIFFS_MAX_PARTITIONS
  4          int "Maximum Number of Partitions"
  5          default 3
  6          range 1 10
  7          help
  8              Define maximum number of partitions that can be mounted.
  9  
 10      menu "SPIFFS Cache Configuration"
 11          config SPIFFS_CACHE
 12              bool "Enable SPIFFS Cache"
 13              default "y"
 14              help
 15                  Enables/disable memory read caching of nucleus file system
 16                  operations.
 17  
 18          config SPIFFS_CACHE_WR
 19              bool "Enable SPIFFS Write Caching"
 20              default "y"
 21              depends on SPIFFS_CACHE
 22              help
 23                  Enables memory write caching for file descriptors in hydrogen.
 24  
 25          config SPIFFS_CACHE_STATS
 26              bool "Enable SPIFFS Cache Statistics"
 27              default "n"
 28              depends on SPIFFS_CACHE
 29              help
 30                  Enable/disable statistics on caching. Debug/test purpose only.
 31  
 32      endmenu
 33  
 34      config SPIFFS_PAGE_CHECK
 35          bool "Enable SPIFFS Page Check"
 36          default "y"
 37          help
 38              Always check header of each accessed page to ensure consistent state.
 39              If enabled it will increase number of reads from flash, especially
 40              if cache is disabled.
 41  
 42      config SPIFFS_GC_MAX_RUNS
 43          int "Set Maximum GC Runs"
 44          default 10
 45          range 1 255
 46          help
 47              Define maximum number of GC runs to perform to reach desired free pages.
 48  
 49      config SPIFFS_GC_STATS
 50          bool "Enable SPIFFS GC Statistics"
 51          default "n"
 52          help
 53              Enable/disable statistics on gc. Debug/test purpose only.
 54  
 55      config SPIFFS_PAGE_SIZE
 56          int "SPIFFS logical page size"
 57          default 256
 58          range 256 1024
 59          help
 60              Logical page size of SPIFFS partition, in bytes. Must be multiple
 61              of flash page size (which is usually 256 bytes).
 62              Larger page sizes reduce overhead when storing large files, and
 63              improve filesystem performance when reading large files.
 64              Smaller page sizes reduce overhead when storing small (< page size)
 65              files.
 66  
 67      config SPIFFS_OBJ_NAME_LEN
 68          int "Set SPIFFS Maximum Name Length"
 69          default 32
 70          range 1 256
 71          help
 72              Object name maximum length. Note that this length include the
 73              zero-termination character, meaning maximum string of characters
 74              can at most be SPIFFS_OBJ_NAME_LEN - 1.
 75  
 76              SPIFFS_OBJ_NAME_LEN + SPIFFS_META_LENGTH should not exceed
 77              SPIFFS_PAGE_SIZE - 64.
 78  
 79      config SPIFFS_FOLLOW_SYMLINKS
 80          bool "Enable symbolic links for image creation"
 81          default "n"
 82          help
 83              If this option is enabled, symbolic links are taken into account
 84              during partition image creation.
 85  
 86      config SPIFFS_USE_MAGIC
 87          bool "Enable SPIFFS Filesystem Magic"
 88          default "y"
 89          help
 90              Enable this to have an identifiable spiffs filesystem.
 91              This will look for a magic in all sectors to determine if this
 92              is a valid spiffs system or not at mount time.
 93  
 94      config SPIFFS_USE_MAGIC_LENGTH
 95          bool "Enable SPIFFS Filesystem Length Magic"
 96          default "y"
 97          depends on SPIFFS_USE_MAGIC
 98          help
 99              If this option is enabled, the magic will also be dependent
100              on the length of the filesystem. For example, a filesystem
101              configured and formatted for 4 megabytes will not be accepted
102              for mounting with a configuration defining the filesystem as 2 megabytes.
103  
104      config SPIFFS_META_LENGTH
105          int "Size of per-file metadata field"
106          default 4
107          help
108              This option sets the number of extra bytes stored in the file header.
109              These bytes can be used in an application-specific manner.
110              Set this to at least 4 bytes to enable support for saving file
111              modification time.
112  
113              SPIFFS_OBJ_NAME_LEN + SPIFFS_META_LENGTH should not exceed
114              SPIFFS_PAGE_SIZE - 64.
115  
116      config SPIFFS_USE_MTIME
117          bool "Save file modification time"
118          default "y"
119          depends on SPIFFS_META_LENGTH >= 4
120          help
121              If enabled, then the first 4 bytes of per-file metadata will be used
122              to store file modification time (mtime), accessible through
123              stat/fstat functions.
124              Modification time is updated when the file is opened.
125  
126      config SPIFFS_MTIME_WIDE_64_BITS
127          bool "The time field occupies 64 bits in the image instead of 32 bits"
128          default n
129          depends on SPIFFS_META_LENGTH >= 8
130          help
131              If this option is not set, the time field is 32 bits (up to 2106 year),
132              otherwise it is 64 bits and make sure it matches SPIFFS_META_LENGTH.
133              If the chip already has the spiffs image with the time field = 32 bits
134              then this option cannot be applied in this case.
135              Erase it first before using this option.
136              To resolve the Y2K38 problem for the spiffs, use a toolchain with support
137              time_t 64 bits (see SDK_TOOLCHAIN_SUPPORTS_TIME_WIDE_64_BITS).
138  
139      menu "Debug Configuration"
140  
141          config SPIFFS_DBG
142              bool "Enable general SPIFFS debug"
143              default "n"
144              help
145                  Enabling this option will print general debug mesages to the console.
146  
147          config SPIFFS_API_DBG
148              bool "Enable SPIFFS API debug"
149              default "n"
150              help
151                  Enabling this option will print API debug mesages to the console.
152  
153          config SPIFFS_GC_DBG
154              bool "Enable SPIFFS Garbage Cleaner debug"
155              default "n"
156              help
157                  Enabling this option will print GC debug mesages to the console.
158  
159          config SPIFFS_CACHE_DBG
160              bool "Enable SPIFFS Cache debug"
161              default "n"
162              depends on SPIFFS_CACHE
163              help
164                  Enabling this option will print cache debug mesages to the console.
165  
166          config SPIFFS_CHECK_DBG
167              bool "Enable SPIFFS Filesystem Check debug"
168              default "n"
169              help
170                  Enabling this option will print Filesystem Check debug mesages
171                  to the console.
172  
173          config SPIFFS_TEST_VISUALISATION
174              bool "Enable SPIFFS Filesystem Visualization"
175              default "n"
176              help
177                  Enable this option to enable SPIFFS_vis function in the API.
178  
179      endmenu
180  
181  endmenu