# Copyright (c) 2016 Intel Corporation # SPDX-License-Identifier: Apache-2.0 menu "File Systems" config FILE_SYSTEM bool "File system support" help Enables support for file system. if FILE_SYSTEM module = FS module-str = fs source "subsys/logging/Kconfig.template.log_config" config APP_LINK_WITH_FS bool "Link 'app' with FS" default y help Add FS header files to the 'app' include path. It may be disabled if the include paths for FS are causing aliasing issues for 'app'. config FAT_FILESYSTEM_ELM bool "ELM FAT File System" select DISK_ACCESS help Use the ELM FAT File system implementation. config FILE_SYSTEM_MAX_TYPES int "Maximum number of distinct file system types allowed" default 2 help Zephyr provides several file system types including FatFS and LittleFS, but it is possible to define additional ones and register them. A slot is required for each type. config FILE_SYSTEM_MAX_FILE_NAME int "Optional override for maximum file name length" default -1 help Specify the maximum file name allowed across all enabled file system types. Zero or a negative value selects the maximum file name length for enabled in-tree file systems. This default may be inappropriate when registering an out-of-tree file system. Selecting a value less than the actual length supported by a file system may result in memory access violations. menu "FatFs Settings" visible if FAT_FILESYSTEM_ELM config FS_FATFS_EXFAT bool "Enable exFAT support" select FS_FATFS_LFN help Enable the exFAT format support for FatFs. config FS_FATFS_NUM_FILES int "Maximum number of opened files" default 4 config FS_FATFS_NUM_DIRS int "Maximum number of opened directories" default 4 config FS_FATFS_LFN bool "Enable long filenames (LFN)" help Without long filenames enabled, file names are limited to 8.3 format. This option increases working buffer size. if FS_FATFS_LFN choice prompt "LFN memory mode" default FS_FATFS_LFN_MODE_BSS config FS_FATFS_LFN_MODE_BSS bool "Static buffer" help Enable LFN with static working buffer on the BSS. Always NOT thread-safe. config FS_FATFS_LFN_MODE_STACK bool "Stack buffer" help Enable LFN with dynamic working buffer on the STACK. config FS_FATFS_LFN_MODE_HEAP bool "Heap buffer" help Enable LFN with dynamic working buffer on the HEAP. endchoice config FS_FATFS_MAX_LFN int "Max filename length" range 12 255 default 255 help The working buffer occupies (FS_FATFS_MAX_LFN + 1) * 2 bytes and additional 608 bytes at exFAT enabled. It should be set 255 to support full featured LFN operations. endif # FS_FATFS_LFN config FS_FATFS_CODEPAGE int "FatFS code page (character set)" default 437 if FS_FATFS_LFN default 1 help Valid code page values: 1 - ASCII (No extended character. Non-LFN cfg. only) 437 - U.S. 720 - Arabic 737 - Greek 771 - KBL 775 - Baltic 850 - Latin 1 852 - Latin 2 855 - Cyrillic 857 - Turkish 860 - Portuguese 861 - Icelandic 862 - Hebrew 863 - Canadian French 864 - Arabic 865 - Nordic 866 - Russian 869 - Greek 2 932 - Japanese (DBCS) 936 - Simplified Chinese (DBCS) 949 - Korean (DBCS) 950 - Traditional Chinese (DBCS) endmenu config FILE_SYSTEM_LITTLEFS bool "LittleFS file system support" depends on FLASH_MAP depends on FLASH_PAGE_LAYOUT help Enables LittleFS file system support. config FILE_SYSTEM_SHELL bool "Enable file system shell" depends on SHELL depends on HEAP_MEM_POOL_SIZE > 0 help This shell provides basic browsing of the contents of the file system. config FUSE_FS_ACCESS bool "Enable FUSE based access to file system partitions" depends on ARCH_POSIX help Expose file system partitions to the host system through FUSE. source "subsys/fs/Kconfig.littlefs" endif # FILE_SYSTEM source "subsys/fs/fcb/Kconfig" source "subsys/fs/nvs/Kconfig" endmenu