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