You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
253 lines
6.8 KiB
253 lines
6.8 KiB
5 months ago
|
menu "DFS: device virtual file system"
|
||
|
|
||
|
config RT_USING_DFS
|
||
|
bool "DFS: device virtual file system"
|
||
|
select RT_USING_MUTEX
|
||
|
default y
|
||
|
help
|
||
|
The device file system is a light weight virtual file system.
|
||
|
|
||
|
if RT_USING_DFS
|
||
|
config DFS_USING_POSIX
|
||
|
bool "Using posix-like functions, open/read/write/close"
|
||
|
default y
|
||
|
|
||
|
config DFS_USING_WORKDIR
|
||
|
bool "Using working directory"
|
||
|
default y
|
||
|
|
||
|
if RT_USING_DFS_V1
|
||
|
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.
|
||
|
endif
|
||
|
|
||
|
config DFS_FD_MAX
|
||
|
int "The maximal number of opened files"
|
||
|
default 16
|
||
|
|
||
|
choice
|
||
|
prompt "The version of DFS"
|
||
|
default RT_USING_DFS_V1
|
||
|
default RT_USING_DFS_V2 if RT_USING_SMART
|
||
|
|
||
|
config RT_USING_DFS_V1
|
||
|
bool "DFS v1.0"
|
||
|
depends on !RT_USING_SMART
|
||
|
|
||
|
config RT_USING_DFS_V2
|
||
|
bool "DFS v2.0"
|
||
|
select RT_USING_DEVICE_OPS
|
||
|
endchoice
|
||
|
|
||
|
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
|
||
|
|
||
|
config RT_DFS_ELM_USE_EXFAT
|
||
|
bool "Enable RT_DFS_ELM_USE_EXFAT"
|
||
|
default n
|
||
|
depends on RT_DFS_ELM_USE_LFN >= 1
|
||
|
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
|
||
|
|
||
|
config RT_USING_DFS_ROMFS_USER_ROOT
|
||
|
bool "Use user's romfs root"
|
||
|
depends on RT_USING_DFS_ROMFS
|
||
|
default n
|
||
|
|
||
|
if RT_USING_SMART
|
||
|
config RT_USING_DFS_PTYFS
|
||
|
bool "Using Pseudo-Teletype Filesystem (UNIX98 PTY)"
|
||
|
depends on RT_USING_DFS_DEVFS
|
||
|
default y
|
||
|
endif
|
||
|
|
||
|
config RT_USING_DFS_CROMFS
|
||
|
bool "Enable ReadOnly compressed file system on flash"
|
||
|
default n
|
||
|
# select PKG_USING_ZLIB
|
||
|
|
||
|
if RT_USING_DFS_V1
|
||
|
config RT_USING_DFS_RAMFS
|
||
|
bool "Enable RAM file system"
|
||
|
select RT_USING_MEMHEAP
|
||
|
default n
|
||
|
endif
|
||
|
|
||
|
config RT_USING_DFS_TMPFS
|
||
|
bool "Enable TMP file system"
|
||
|
default n
|
||
|
|
||
|
config RT_USING_DFS_MQUEUE
|
||
|
bool "Enable MQUEUE file system"
|
||
|
select RT_USING_DEV_BUS
|
||
|
default n
|
||
|
|
||
|
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
|
||
|
|
||
|
if RT_USING_DFS_V2
|
||
|
config RT_USING_PAGECACHE
|
||
|
bool "Enable page cache"
|
||
|
default y if RT_USING_SMART
|
||
|
depends on RT_USING_SMART
|
||
|
|
||
|
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
|
||
|
|
||
|
endif
|
||
|
|
||
|
endmenu
|