xref: /nrf52832-nimble/rt-thread/components/dfs/Kconfig (revision 104654410c56c573564690304ae786df310c91fc)
1menu "Device virtual file system"
2
3config RT_USING_DFS
4    bool "Using device virtual file system"
5    select RT_USING_MUTEX
6    default y
7    help
8        The device file system is a light weight virtual file system.
9
10if RT_USING_DFS
11    config DFS_USING_WORKDIR
12        bool "Using working directory"
13        default y
14
15    config DFS_FILESYSTEMS_MAX
16        int "The maximal number of mounted file system"
17        default 4 if RT_USING_DFS_NFS
18        default 2
19
20    config DFS_FILESYSTEM_TYPES_MAX
21        int "The maximal number of file system type"
22        default 4 if RT_USING_DFS_NFS
23        default 2
24
25    config DFS_FD_MAX
26        int "The maximal number of opened files"
27        default 16
28
29    config RT_USING_DFS_MNTTABLE
30        bool "Using mount table for file system"
31        default n
32        help
33            User can use mount table for automatically mount, for example:
34                const struct dfs_mount_tbl mount_table[] =
35                {
36                    {"flash0", "/", "elm", 0, 0},
37                    {0}
38                };
39            The mount_table must be terminated with NULL.
40
41    config RT_USING_DFS_ELMFAT
42        bool "Enable elm-chan fatfs"
43        default n
44        help
45            FatFs is a generic FAT/exFAT file system module for small embedded systems.
46
47    if RT_USING_DFS_ELMFAT
48        menu "elm-chan's FatFs, Generic FAT Filesystem Module"
49        config RT_DFS_ELM_CODE_PAGE
50            int "OEM code page"
51            default 437
52
53        config RT_DFS_ELM_WORD_ACCESS
54            bool "Using RT_DFS_ELM_WORD_ACCESS"
55            default y
56
57        choice
58            prompt "Support long file name"
59            default RT_DFS_ELM_USE_LFN_3
60
61            config RT_DFS_ELM_USE_LFN_0
62                bool "0: LFN disable"
63
64            config RT_DFS_ELM_USE_LFN_1
65                bool "1: LFN with static LFN working buffer"
66
67            config RT_DFS_ELM_USE_LFN_2
68                bool "2: LFN with dynamic LFN working buffer on the stack"
69
70            config RT_DFS_ELM_USE_LFN_3
71                bool "3: LFN with dynamic LFN working buffer on the heap"
72        endchoice
73
74        config RT_DFS_ELM_USE_LFN
75            int
76            default 0 if RT_DFS_ELM_USE_LFN_0
77            default 1 if RT_DFS_ELM_USE_LFN_1
78            default 2 if RT_DFS_ELM_USE_LFN_2
79            default 3 if RT_DFS_ELM_USE_LFN_3
80
81        config RT_DFS_ELM_MAX_LFN
82            int "Maximal size of file name length"
83            range 12 255
84            default 255
85
86        config RT_DFS_ELM_DRIVES
87            int "Number of volumes (logical drives) to be used."
88            default 2
89
90        config RT_DFS_ELM_MAX_SECTOR_SIZE
91            int "Maximum sector size to be handled."
92            default 512
93            help
94                if you use some spi nor flash for fatfs, please set this the erase sector size, for example 4096.
95
96        config RT_DFS_ELM_USE_ERASE
97            bool "Enable sector erase feature"
98            default n
99
100        config RT_DFS_ELM_REENTRANT
101            bool "Enable the reentrancy (thread safe) of the FatFs module"
102            default y
103        endmenu
104    endif
105
106    config RT_USING_DFS_DEVFS
107        bool "Using devfs for device objects"
108        default y
109
110    config RT_USING_DFS_ROMFS
111        bool "Enable ReadOnly file system on flash"
112        default n
113
114    config RT_USING_DFS_RAMFS
115        bool "Enable RAM file system"
116        default n
117
118    config RT_USING_DFS_UFFS
119        bool "Enable UFFS file system: Ultra-low-cost Flash File System"
120        select RT_USING_MTD_NAND
121        default n
122
123    if RT_USING_DFS_UFFS
124        choice
125            prompt "UFFS ECC mode"
126            default RT_UFFS_ECC_MODE_1
127
128            config RT_UFFS_ECC_MODE_0
129                bool "0: Do not use ECC"
130
131            config RT_UFFS_ECC_MODE_1
132                bool "1: UFFS calculate the ECC"
133
134            config RT_UFFS_ECC_MODE_2
135                bool "2: Flash driver(or by hardware) calculate the ECC"
136
137            config RT_UFFS_ECC_MODE_3
138                bool "3: Hardware calculate the ECC and automatically write to spare."
139        endchoice
140
141        config RT_UFFS_ECC_MODE
142            int
143            default 0 if RT_UFFS_ECC_MODE_0
144            default 1 if RT_UFFS_ECC_MODE_1
145            default 2 if RT_UFFS_ECC_MODE_2
146            default 3 if RT_UFFS_ECC_MODE_3
147
148    endif
149
150    config RT_USING_DFS_JFFS2
151        bool "Enable JFFS2 file system"
152        select RT_USING_MTD_NOR
153        default n
154
155    config RT_USING_DFS_NFS
156        bool "Using NFS v3 client file system"
157        depends on RT_USING_LWIP
158        default n
159
160    if RT_USING_DFS_NFS
161        config RT_NFS_HOST_EXPORT
162            string "NFSv3 host export"
163            default "192.168.1.5:/"
164    endif
165
166endif
167
168endmenu
169