1menu "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 181endmenu 182