2023-04-04 15:02:56 +08:00
|
|
|
menu "DFS: device virtual file system"
|
|
|
|
|
|
|
|
config RT_USING_DFS
|
2022-03-25 23:07:18 +08:00
|
|
|
bool "DFS: device virtual file system"
|
2018-06-27 10:10:50 +08:00
|
|
|
select RT_USING_MUTEX
|
2017-01-31 11:54:12 +08:00
|
|
|
default y
|
|
|
|
help
|
|
|
|
The device file system is a light weight virtual file system.
|
|
|
|
|
|
|
|
if RT_USING_DFS
|
2021-11-16 00:22:49 +08:00
|
|
|
config DFS_USING_POSIX
|
|
|
|
bool "Using posix-like functions, open/read/write/close"
|
|
|
|
default y
|
|
|
|
|
2017-01-31 11:54:12 +08:00
|
|
|
config DFS_USING_WORKDIR
|
|
|
|
bool "Using working directory"
|
|
|
|
default y
|
2017-12-18 15:47:30 +08:00
|
|
|
|
2023-06-10 21:35:25 +08:00
|
|
|
if RT_USING_DFS_V1
|
2018-07-28 20:22:14 +08:00
|
|
|
config RT_USING_DFS_MNTTABLE
|
|
|
|
bool "Using mount table for file system"
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
User can use mount table for automatically mount, for example:
|
|
|
|
const struct dfs_mount_tbl mount_table[] =
|
|
|
|
{
|
|
|
|
{"flash0", "/", "elm", 0, 0},
|
|
|
|
{0}
|
|
|
|
};
|
|
|
|
The mount_table must be terminated with NULL.
|
2023-06-10 21:35:25 +08:00
|
|
|
endif
|
2018-07-28 20:22:14 +08:00
|
|
|
|
2023-04-04 15:02:56 +08:00
|
|
|
config DFS_FD_MAX
|
|
|
|
int "The maximal number of opened files"
|
|
|
|
default 16
|
2022-12-03 12:07:44 +08:00
|
|
|
|
2023-04-04 15:02:56 +08:00
|
|
|
choice
|
|
|
|
prompt "The version of DFS"
|
|
|
|
default RT_USING_DFS_V1
|
|
|
|
default RT_USING_DFS_V2 if RT_USING_SMART
|
2017-10-25 14:21:49 +08:00
|
|
|
|
2023-04-04 15:02:56 +08:00
|
|
|
config RT_USING_DFS_V1
|
|
|
|
bool "DFS v1.0"
|
2023-12-19 13:53:15 +08:00
|
|
|
depends on !RT_USING_SMART
|
2022-12-03 12:07:44 +08:00
|
|
|
|
2023-04-04 15:02:56 +08:00
|
|
|
config RT_USING_DFS_V2
|
|
|
|
bool "DFS v2.0"
|
|
|
|
endchoice
|
2017-01-31 11:54:12 +08:00
|
|
|
|
2023-06-10 21:35:25 +08:00
|
|
|
if RT_USING_DFS_V1
|
|
|
|
config DFS_FILESYSTEMS_MAX
|
|
|
|
int "The maximal number of mounted file system"
|
|
|
|
default 4
|
|
|
|
|
|
|
|
config DFS_FILESYSTEM_TYPES_MAX
|
|
|
|
int "The maximal number of file system type"
|
|
|
|
default 4
|
|
|
|
endif
|
|
|
|
|
|
|
|
config RT_USING_DFS_ELMFAT
|
|
|
|
bool "Enable elm-chan fatfs"
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
FatFs is a generic FAT/exFAT file system module for small embedded systems.
|
|
|
|
|
|
|
|
if RT_USING_DFS_ELMFAT
|
|
|
|
menu "elm-chan's FatFs, Generic FAT Filesystem Module"
|
|
|
|
config RT_DFS_ELM_CODE_PAGE
|
|
|
|
int "OEM code page"
|
|
|
|
default 437
|
|
|
|
|
|
|
|
config RT_DFS_ELM_WORD_ACCESS
|
|
|
|
bool "Using RT_DFS_ELM_WORD_ACCESS"
|
|
|
|
default y
|
|
|
|
|
|
|
|
choice
|
|
|
|
prompt "Support long file name"
|
|
|
|
default RT_DFS_ELM_USE_LFN_3
|
|
|
|
|
|
|
|
config RT_DFS_ELM_USE_LFN_0
|
|
|
|
bool "0: LFN disable"
|
|
|
|
|
|
|
|
config RT_DFS_ELM_USE_LFN_1
|
|
|
|
bool "1: LFN with static LFN working buffer"
|
|
|
|
|
|
|
|
config RT_DFS_ELM_USE_LFN_2
|
|
|
|
bool "2: LFN with dynamic LFN working buffer on the stack"
|
|
|
|
|
|
|
|
config RT_DFS_ELM_USE_LFN_3
|
|
|
|
bool "3: LFN with dynamic LFN working buffer on the heap"
|
|
|
|
endchoice
|
|
|
|
|
|
|
|
config RT_DFS_ELM_USE_LFN
|
|
|
|
int
|
|
|
|
default 0 if RT_DFS_ELM_USE_LFN_0
|
|
|
|
default 1 if RT_DFS_ELM_USE_LFN_1
|
|
|
|
default 2 if RT_DFS_ELM_USE_LFN_2
|
|
|
|
default 3 if RT_DFS_ELM_USE_LFN_3
|
|
|
|
|
|
|
|
choice
|
|
|
|
prompt "Support unicode for long file name"
|
|
|
|
default RT_DFS_ELM_LFN_UNICODE_0
|
|
|
|
|
|
|
|
config RT_DFS_ELM_LFN_UNICODE_0
|
|
|
|
bool "0: ANSI/OEM in current CP (TCHAR = char)"
|
|
|
|
|
|
|
|
config RT_DFS_ELM_LFN_UNICODE_1
|
|
|
|
bool "1: Unicode in UTF-16 (TCHAR = WCHAR)"
|
|
|
|
|
|
|
|
config RT_DFS_ELM_LFN_UNICODE_2
|
|
|
|
bool "2: Unicode in UTF-8 (TCHAR = char)"
|
|
|
|
|
|
|
|
config RT_DFS_ELM_LFN_UNICODE_3
|
|
|
|
bool "3: Unicode in UTF-32 (TCHAR = DWORD)"
|
|
|
|
endchoice
|
|
|
|
|
|
|
|
config RT_DFS_ELM_LFN_UNICODE
|
|
|
|
int
|
|
|
|
default 0 if RT_DFS_ELM_LFN_UNICODE_0
|
|
|
|
default 1 if RT_DFS_ELM_LFN_UNICODE_1
|
|
|
|
default 2 if RT_DFS_ELM_LFN_UNICODE_2
|
|
|
|
default 3 if RT_DFS_ELM_LFN_UNICODE_3
|
|
|
|
|
|
|
|
config RT_DFS_ELM_MAX_LFN
|
|
|
|
int "Maximal size of file name length"
|
|
|
|
range 12 255
|
|
|
|
default 255
|
|
|
|
|
|
|
|
config RT_DFS_ELM_DRIVES
|
|
|
|
int "Number of volumes (logical drives) to be used."
|
|
|
|
default 2
|
|
|
|
|
|
|
|
config RT_DFS_ELM_MAX_SECTOR_SIZE
|
|
|
|
int "Maximum sector size to be handled."
|
|
|
|
default 512
|
|
|
|
help
|
|
|
|
If you use some spi nor flash for fatfs, please set this the erase sector size, for example 4096.
|
|
|
|
|
|
|
|
config RT_DFS_ELM_USE_ERASE
|
|
|
|
bool "Enable sector erase feature"
|
|
|
|
default n
|
|
|
|
|
|
|
|
config RT_DFS_ELM_REENTRANT
|
|
|
|
bool "Enable the reentrancy (thread safe) of the FatFs module"
|
|
|
|
default y
|
|
|
|
|
|
|
|
config RT_DFS_ELM_MUTEX_TIMEOUT
|
|
|
|
int "Timeout of thread-safe protection mutex"
|
|
|
|
range 0 1000000
|
|
|
|
default 3000
|
|
|
|
depends on RT_DFS_ELM_REENTRANT
|
2023-10-24 15:30:32 +08:00
|
|
|
|
|
|
|
config RT_DFS_ELM_USE_EXFAT
|
2023-10-24 15:33:34 +08:00
|
|
|
bool "Enable RT_DFS_ELM_USE_EXFAT"
|
|
|
|
default n
|
2023-10-24 16:17:31 +08:00
|
|
|
depends on RT_DFS_ELM_USE_LFN >= 1
|
2023-06-10 21:35:25 +08:00
|
|
|
endmenu
|
|
|
|
endif
|
|
|
|
|
|
|
|
config RT_USING_DFS_DEVFS
|
|
|
|
bool "Using devfs for device objects"
|
|
|
|
default y
|
|
|
|
|
|
|
|
config RT_USING_DFS_ROMFS
|
|
|
|
bool "Enable ReadOnly file system on flash"
|
|
|
|
default n
|
2023-09-01 00:20:55 +08:00
|
|
|
|
2023-12-26 22:06:30 +08:00
|
|
|
config RT_USING_DFS_ROMFS_USER_ROOT
|
|
|
|
bool "Use user's romfs root"
|
|
|
|
depends on RT_USING_DFS_ROMFS
|
|
|
|
default n
|
|
|
|
|
2023-06-10 21:35:25 +08:00
|
|
|
config RT_USING_DFS_CROMFS
|
|
|
|
bool "Enable ReadOnly compressed file system on flash"
|
|
|
|
default n
|
|
|
|
# select PKG_USING_ZLIB
|
|
|
|
|
2023-09-01 00:20:55 +08:00
|
|
|
if RT_USING_DFS_V1
|
2023-06-10 21:35:25 +08:00
|
|
|
config RT_USING_DFS_RAMFS
|
|
|
|
bool "Enable RAM file system"
|
|
|
|
select RT_USING_MEMHEAP
|
|
|
|
default n
|
|
|
|
endif
|
2023-09-01 00:20:55 +08:00
|
|
|
|
2023-06-10 21:35:25 +08:00
|
|
|
config RT_USING_DFS_TMPFS
|
|
|
|
bool "Enable TMP file system"
|
|
|
|
default n
|
|
|
|
|
2023-07-05 14:49:31 +08:00
|
|
|
config RT_USING_DFS_MQUEUE
|
|
|
|
bool "Enable MQUEUE file system"
|
|
|
|
select RT_USING_DEV_BUS
|
|
|
|
default n
|
|
|
|
|
2023-06-10 21:35:25 +08:00
|
|
|
if RT_USING_DFS_V1
|
|
|
|
config RT_USING_DFS_NFS
|
|
|
|
bool "Using NFS v3 client file system"
|
|
|
|
depends on RT_USING_LWIP
|
|
|
|
default n
|
|
|
|
|
|
|
|
if RT_USING_DFS_NFS
|
|
|
|
config RT_NFS_HOST_EXPORT
|
|
|
|
string "NFSv3 host export"
|
|
|
|
default "192.168.1.5:/"
|
|
|
|
endif
|
|
|
|
endif
|
2017-01-31 11:54:12 +08:00
|
|
|
|
2023-10-17 13:07:59 +08:00
|
|
|
if RT_USING_DFS_V2
|
|
|
|
config RT_USING_PAGECACHE
|
|
|
|
bool "Enable page cache"
|
2023-12-19 13:53:15 +08:00
|
|
|
default y if RT_USING_SMART
|
|
|
|
depends on RT_USING_SMART
|
2023-10-17 13:07:59 +08:00
|
|
|
|
|
|
|
if RT_USING_PAGECACHE
|
|
|
|
menu "page cache config"
|
|
|
|
config RT_PAGECACHE_COUNT
|
|
|
|
int "page cache max total pages."
|
|
|
|
default 4096
|
|
|
|
|
|
|
|
config RT_PAGECACHE_ASPACE_COUNT
|
|
|
|
int "aspace max active pages."
|
|
|
|
default 1024
|
|
|
|
|
|
|
|
config RT_PAGECACHE_PRELOAD
|
|
|
|
int "max pre load pages."
|
|
|
|
default 4
|
|
|
|
|
|
|
|
config RT_PAGECACHE_HASH_NR
|
|
|
|
int "page cache hash size."
|
|
|
|
default 1024
|
|
|
|
|
|
|
|
config RT_PAGECACHE_GC_WORK_LEVEL
|
|
|
|
int "page cache gc work trigger min percentage, default 90%."
|
|
|
|
default 90
|
|
|
|
|
|
|
|
config RT_PAGECACHE_GC_STOP_LEVEL
|
|
|
|
int "page cache gc to min percentage, default 70%."
|
|
|
|
default 70
|
|
|
|
endmenu
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2017-01-31 11:54:12 +08:00
|
|
|
endif
|
2023-04-04 15:02:56 +08:00
|
|
|
|
|
|
|
endmenu
|