mirror of
https://github.com/espressif/ESP8266_RTOS_SDK.git
synced 2025-06-25 10:13:01 +08:00
feat(fatfs): add FATFS from esp-idf
Commit ID: 3b16089c
This commit is contained in:
183
components/fatfs/Kconfig
Normal file
183
components/fatfs/Kconfig
Normal file
@ -0,0 +1,183 @@
|
||||
menu "FAT Filesystem support"
|
||||
|
||||
choice FATFS_CHOOSE_CODEPAGE
|
||||
prompt "OEM Code Page"
|
||||
default FATFS_CODEPAGE_437
|
||||
help
|
||||
OEM code page used for file name encodings.
|
||||
|
||||
If "Dynamic" is selected, code page can be chosen at runtime using
|
||||
f_setcp function. Note that choosing this option will increase
|
||||
application size by ~480kB.
|
||||
|
||||
config FATFS_CODEPAGE_DYNAMIC
|
||||
bool "Dynamic (all code pages supported)"
|
||||
config FATFS_CODEPAGE_437
|
||||
bool "US (CP437)"
|
||||
config FATFS_CODEPAGE_720
|
||||
bool "Arabic (CP720)"
|
||||
config FATFS_CODEPAGE_737
|
||||
bool "Greek (CP737)"
|
||||
config FATFS_CODEPAGE_771
|
||||
bool "KBL (CP771)"
|
||||
config FATFS_CODEPAGE_775
|
||||
bool "Baltic (CP775)"
|
||||
config FATFS_CODEPAGE_850
|
||||
bool "Latin 1 (CP850)"
|
||||
config FATFS_CODEPAGE_852
|
||||
bool "Latin 2 (CP852)"
|
||||
config FATFS_CODEPAGE_855
|
||||
bool "Cyrillic (CP855)"
|
||||
config FATFS_CODEPAGE_857
|
||||
bool "Turkish (CP857)"
|
||||
config FATFS_CODEPAGE_860
|
||||
bool "Portugese (CP860)"
|
||||
config FATFS_CODEPAGE_861
|
||||
bool "Icelandic (CP861)"
|
||||
config FATFS_CODEPAGE_862
|
||||
bool "Hebrew (CP862)"
|
||||
config FATFS_CODEPAGE_863
|
||||
bool "Canadian French (CP863)"
|
||||
config FATFS_CODEPAGE_864
|
||||
bool "Arabic (CP864)"
|
||||
config FATFS_CODEPAGE_865
|
||||
bool "Nordic (CP865)"
|
||||
config FATFS_CODEPAGE_866
|
||||
bool "Russian (CP866)"
|
||||
config FATFS_CODEPAGE_869
|
||||
bool "Greek 2 (CP869)"
|
||||
config FATFS_CODEPAGE_932
|
||||
bool "Japanese (DBCS) (CP932)"
|
||||
config FATFS_CODEPAGE_936
|
||||
bool "Simplified Chinese (DBCS) (CP936)"
|
||||
config FATFS_CODEPAGE_949
|
||||
bool "Korean (DBCS) (CP949)"
|
||||
config FATFS_CODEPAGE_950
|
||||
bool "Traditional Chinese (DBCS) (CP950)"
|
||||
|
||||
endchoice
|
||||
|
||||
config FATFS_CODEPAGE
|
||||
int
|
||||
default 0 if FATFS_CODEPAGE_DYNAMIC
|
||||
default 437 if FATFS_CODEPAGE_437
|
||||
default 720 if FATFS_CODEPAGE_720
|
||||
default 737 if FATFS_CODEPAGE_737
|
||||
default 771 if FATFS_CODEPAGE_771
|
||||
default 775 if FATFS_CODEPAGE_775
|
||||
default 850 if FATFS_CODEPAGE_850
|
||||
default 852 if FATFS_CODEPAGE_852
|
||||
default 855 if FATFS_CODEPAGE_855
|
||||
default 857 if FATFS_CODEPAGE_857
|
||||
default 860 if FATFS_CODEPAGE_860
|
||||
default 861 if FATFS_CODEPAGE_861
|
||||
default 862 if FATFS_CODEPAGE_862
|
||||
default 863 if FATFS_CODEPAGE_863
|
||||
default 864 if FATFS_CODEPAGE_864
|
||||
default 865 if FATFS_CODEPAGE_865
|
||||
default 866 if FATFS_CODEPAGE_866
|
||||
default 869 if FATFS_CODEPAGE_869
|
||||
default 932 if FATFS_CODEPAGE_932
|
||||
default 936 if FATFS_CODEPAGE_936
|
||||
default 949 if FATFS_CODEPAGE_949
|
||||
default 950 if FATFS_CODEPAGE_950
|
||||
default 437
|
||||
|
||||
choice FATFS_LONG_FILENAMES
|
||||
prompt "Long filename support"
|
||||
default FATFS_LFN_NONE
|
||||
help
|
||||
Support long filenames in FAT. Long filename data increases
|
||||
memory usage. FATFS can be configured to store the buffer for
|
||||
long filename data in stack or heap.
|
||||
|
||||
config FATFS_LFN_NONE
|
||||
bool "No long filenames"
|
||||
config FATFS_LFN_HEAP
|
||||
bool "Long filename buffer in heap"
|
||||
config FATFS_LFN_STACK
|
||||
bool "Long filename buffer on stack"
|
||||
endchoice
|
||||
|
||||
config FATFS_MAX_LFN
|
||||
int "Max long filename length"
|
||||
depends on !FATFS_LFN_NONE
|
||||
default 255
|
||||
range 12 255
|
||||
help
|
||||
Maximum long filename length. Can be reduced to save RAM.
|
||||
|
||||
choice FATFS_API_ENCODING
|
||||
prompt "API character encoding"
|
||||
depends on !FATFS_LFN_NONE
|
||||
default FATFS_API_ENCODING_ANSI_OEM
|
||||
help
|
||||
Choose encoding for character and string arguments/returns when using
|
||||
FATFS APIs. The encoding of arguments will usually depend on text
|
||||
editor settings.
|
||||
|
||||
config FATFS_API_ENCODING_ANSI_OEM
|
||||
bool "API uses ANSI/OEM encoding"
|
||||
config FATFS_API_ENCODING_UTF_16
|
||||
bool "API uses UTF-16 encoding"
|
||||
config FATFS_API_ENCODING_UTF_8
|
||||
bool "API uses UTF-8 encoding"
|
||||
endchoice
|
||||
|
||||
config FATFS_FS_LOCK
|
||||
int "Number of simultaneously open files protected by lock function"
|
||||
default 0
|
||||
range 0 65535
|
||||
help
|
||||
This option sets the FATFS configuration value _FS_LOCK.
|
||||
The option _FS_LOCK switches file lock function to control duplicated file open
|
||||
and illegal operation to open objects.
|
||||
|
||||
* 0: Disable file lock function. To avoid volume corruption, application
|
||||
should avoid illegal open, remove and rename to the open objects.
|
||||
|
||||
* >0: Enable file lock function. The value defines how many files/sub-directories
|
||||
can be opened simultaneously under file lock control.
|
||||
|
||||
Note that the file lock control is independent of re-entrancy.
|
||||
|
||||
config FATFS_TIMEOUT_MS
|
||||
int "Timeout for acquiring a file lock, ms"
|
||||
default 10000
|
||||
help
|
||||
This option sets FATFS configuration value _FS_TIMEOUT, scaled to milliseconds.
|
||||
Sets the number of milliseconds FATFS will wait to acquire a mutex when
|
||||
operating on an open file. For example, if one task is performing a lenghty
|
||||
operation, another task will wait for the first task to release the lock,
|
||||
and time out after amount of time set by this option.
|
||||
|
||||
|
||||
config FATFS_PER_FILE_CACHE
|
||||
bool "Use separate cache for each file"
|
||||
default y
|
||||
help
|
||||
This option affects FATFS configuration value _FS_TINY.
|
||||
|
||||
If this option is set, _FS_TINY is 0, and each open file has its own cache,
|
||||
size of the cache is equal to the _MAX_SS variable (512 or 4096 bytes).
|
||||
This option uses more RAM if more than 1 file is open, but needs less reads
|
||||
and writes to the storage for some operations.
|
||||
|
||||
If this option is not set, _FS_TINY is 1, and single cache is used for
|
||||
all open files, size is also equal to _MAX_SS variable. This reduces the
|
||||
amount of heap used when multiple files are open, but increases the number
|
||||
of read and write operations which FATFS needs to make.
|
||||
|
||||
|
||||
config FATFS_ALLOC_PREFER_EXTRAM
|
||||
bool "Perfer external RAM when allocating FATFS buffers"
|
||||
default y
|
||||
depends on SPIRAM_USE_CAPS_ALLOC || SPIRAM_USE_MALLOC
|
||||
help
|
||||
When the option is enabled, internal buffers used by FATFS will be allocated
|
||||
from external RAM. If the allocation from external RAM fails, the buffer will
|
||||
be allocated from the internal RAM.
|
||||
Disable this option if optimizing for performance. Enable this option if
|
||||
optimizing for internal memory size.
|
||||
|
||||
endmenu
|
Reference in New Issue
Block a user