Kconfig 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. menu "DFS: device virtual file system"
  2. config RT_USING_DFS
  3. bool "DFS: device virtual file system"
  4. select RT_USING_MUTEX
  5. default y
  6. help
  7. The device file system is a light weight virtual file system.
  8. if RT_USING_DFS
  9. config DFS_USING_POSIX
  10. bool "Using posix-like functions, open/read/write/close"
  11. default y
  12. config DFS_USING_WORKDIR
  13. bool "Using working directory"
  14. default y
  15. if RT_USING_DFS_V1
  16. config RT_USING_DFS_MNTTABLE
  17. bool "Using mount table for file system"
  18. default n
  19. help
  20. User can use mount table for automatically mount, for example:
  21. const struct dfs_mount_tbl mount_table[] =
  22. {
  23. {"flash0", "/", "elm", 0, 0},
  24. {0}
  25. };
  26. The mount_table must be terminated with NULL.
  27. endif
  28. config DFS_FD_MAX
  29. int "The maximal number of opened files"
  30. default 16
  31. choice
  32. prompt "The version of DFS"
  33. default RT_USING_DFS_V1
  34. default RT_USING_DFS_V2 if RT_USING_SMART
  35. config RT_USING_DFS_V1
  36. bool "DFS v1.0"
  37. depends on !RT_USING_SMART
  38. config RT_USING_DFS_V2
  39. bool "DFS v2.0"
  40. endchoice
  41. if RT_USING_DFS_V1
  42. config DFS_FILESYSTEMS_MAX
  43. int "The maximal number of mounted file system"
  44. default 4
  45. config DFS_FILESYSTEM_TYPES_MAX
  46. int "The maximal number of file system type"
  47. default 4
  48. endif
  49. config RT_USING_DFS_ELMFAT
  50. bool "Enable elm-chan fatfs"
  51. default n
  52. help
  53. FatFs is a generic FAT/exFAT file system module for small embedded systems.
  54. if RT_USING_DFS_ELMFAT
  55. menu "elm-chan's FatFs, Generic FAT Filesystem Module"
  56. config RT_DFS_ELM_CODE_PAGE
  57. int "OEM code page"
  58. default 437
  59. config RT_DFS_ELM_WORD_ACCESS
  60. bool "Using RT_DFS_ELM_WORD_ACCESS"
  61. default y
  62. choice
  63. prompt "Support long file name"
  64. default RT_DFS_ELM_USE_LFN_3
  65. config RT_DFS_ELM_USE_LFN_0
  66. bool "0: LFN disable"
  67. config RT_DFS_ELM_USE_LFN_1
  68. bool "1: LFN with static LFN working buffer"
  69. config RT_DFS_ELM_USE_LFN_2
  70. bool "2: LFN with dynamic LFN working buffer on the stack"
  71. config RT_DFS_ELM_USE_LFN_3
  72. bool "3: LFN with dynamic LFN working buffer on the heap"
  73. endchoice
  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. choice
  81. prompt "Support unicode for long file name"
  82. default RT_DFS_ELM_LFN_UNICODE_0
  83. config RT_DFS_ELM_LFN_UNICODE_0
  84. bool "0: ANSI/OEM in current CP (TCHAR = char)"
  85. config RT_DFS_ELM_LFN_UNICODE_1
  86. bool "1: Unicode in UTF-16 (TCHAR = WCHAR)"
  87. config RT_DFS_ELM_LFN_UNICODE_2
  88. bool "2: Unicode in UTF-8 (TCHAR = char)"
  89. config RT_DFS_ELM_LFN_UNICODE_3
  90. bool "3: Unicode in UTF-32 (TCHAR = DWORD)"
  91. endchoice
  92. config RT_DFS_ELM_LFN_UNICODE
  93. int
  94. default 0 if RT_DFS_ELM_LFN_UNICODE_0
  95. default 1 if RT_DFS_ELM_LFN_UNICODE_1
  96. default 2 if RT_DFS_ELM_LFN_UNICODE_2
  97. default 3 if RT_DFS_ELM_LFN_UNICODE_3
  98. config RT_DFS_ELM_MAX_LFN
  99. int "Maximal size of file name length"
  100. range 12 255
  101. default 255
  102. config RT_DFS_ELM_DRIVES
  103. int "Number of volumes (logical drives) to be used."
  104. default 2
  105. config RT_DFS_ELM_MAX_SECTOR_SIZE
  106. int "Maximum sector size to be handled."
  107. default 512
  108. help
  109. If you use some spi nor flash for fatfs, please set this the erase sector size, for example 4096.
  110. config RT_DFS_ELM_USE_ERASE
  111. bool "Enable sector erase feature"
  112. default n
  113. config RT_DFS_ELM_REENTRANT
  114. bool "Enable the reentrancy (thread safe) of the FatFs module"
  115. default y
  116. config RT_DFS_ELM_MUTEX_TIMEOUT
  117. int "Timeout of thread-safe protection mutex"
  118. range 0 1000000
  119. default 3000
  120. depends on RT_DFS_ELM_REENTRANT
  121. config RT_DFS_ELM_USE_EXFAT
  122. bool "Enable RT_DFS_ELM_USE_EXFAT"
  123. default n
  124. depends on RT_DFS_ELM_USE_LFN >= 1
  125. endmenu
  126. endif
  127. config RT_USING_DFS_DEVFS
  128. bool "Using devfs for device objects"
  129. default y
  130. config RT_USING_DFS_ROMFS
  131. bool "Enable ReadOnly file system on flash"
  132. default n
  133. config RT_USING_DFS_CROMFS
  134. bool "Enable ReadOnly compressed file system on flash"
  135. default n
  136. # select PKG_USING_ZLIB
  137. if RT_USING_DFS_V1
  138. config RT_USING_DFS_RAMFS
  139. bool "Enable RAM file system"
  140. select RT_USING_MEMHEAP
  141. default n
  142. endif
  143. config RT_USING_DFS_TMPFS
  144. bool "Enable TMP file system"
  145. default n
  146. config RT_USING_DFS_MQUEUE
  147. bool "Enable MQUEUE file system"
  148. select RT_USING_DEV_BUS
  149. default n
  150. if RT_USING_DFS_V1
  151. config RT_USING_DFS_NFS
  152. bool "Using NFS v3 client file system"
  153. depends on RT_USING_LWIP
  154. default n
  155. if RT_USING_DFS_NFS
  156. config RT_NFS_HOST_EXPORT
  157. string "NFSv3 host export"
  158. default "192.168.1.5:/"
  159. endif
  160. endif
  161. if RT_USING_DFS_V2
  162. config RT_USING_PAGECACHE
  163. bool "Enable page cache"
  164. default y if RT_USING_SMART
  165. depends on RT_USING_SMART
  166. if RT_USING_PAGECACHE
  167. menu "page cache config"
  168. config RT_PAGECACHE_COUNT
  169. int "page cache max total pages."
  170. default 4096
  171. config RT_PAGECACHE_ASPACE_COUNT
  172. int "aspace max active pages."
  173. default 1024
  174. config RT_PAGECACHE_PRELOAD
  175. int "max pre load pages."
  176. default 4
  177. config RT_PAGECACHE_HASH_NR
  178. int "page cache hash size."
  179. default 1024
  180. config RT_PAGECACHE_GC_WORK_LEVEL
  181. int "page cache gc work trigger min percentage, default 90%."
  182. default 90
  183. config RT_PAGECACHE_GC_STOP_LEVEL
  184. int "page cache gc to min percentage, default 70%."
  185. default 70
  186. endmenu
  187. endif
  188. endif
  189. endif
  190. endmenu