ELM FatFS implementation supports LFN, enabled via ffconf.h configuration file. Additionally, code page (character set), max file name length, and memory mode (LFN working buffer location) are configurable options closely related to LFN. Without LFN filenames are restricted to 8.3 filename format. Add kconfig options to expose following FatFS configurations: enable LFN, specify max filename length, specify code page (character set), specify LFN working buffer location. Signed-off-by: Audun Korneliussen <audun.korneliussen@nordicsemi.no>
142 lines
3 KiB
Plaintext
142 lines
3 KiB
Plaintext
# 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_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.
|
|
|
|
menu "FatFs Settings"
|
|
visible if FAT_FILESYSTEM_ELM
|
|
|
|
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
|
|
|
|
source "subsys/fs/Kconfig.littlefs"
|
|
|
|
endif # FILE_SYSTEM
|
|
|
|
source "subsys/fs/fcb/Kconfig"
|
|
source "subsys/fs/nvs/Kconfig"
|
|
|
|
endmenu
|