Kconfig 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. menu "FAT Filesystem support"
  2. config FATFS_VOLUME_COUNT
  3. int "Number of volumes"
  4. default 2
  5. range 1 10
  6. help
  7. Number of volumes (logical drives) to use.
  8. choice FATFS_CHOOSE_CODEPAGE
  9. prompt "OEM Code Page"
  10. default FATFS_CODEPAGE_437
  11. help
  12. OEM code page used for file name encodings.
  13. If "Dynamic" is selected, code page can be chosen at runtime using
  14. f_setcp function. Note that choosing this option will increase
  15. application size by ~480kB.
  16. config FATFS_CODEPAGE_DYNAMIC
  17. bool "Dynamic (all code pages supported)"
  18. config FATFS_CODEPAGE_437
  19. bool "US (CP437)"
  20. config FATFS_CODEPAGE_720
  21. bool "Arabic (CP720)"
  22. config FATFS_CODEPAGE_737
  23. bool "Greek (CP737)"
  24. config FATFS_CODEPAGE_771
  25. bool "KBL (CP771)"
  26. config FATFS_CODEPAGE_775
  27. bool "Baltic (CP775)"
  28. config FATFS_CODEPAGE_850
  29. bool "Latin 1 (CP850)"
  30. config FATFS_CODEPAGE_852
  31. bool "Latin 2 (CP852)"
  32. config FATFS_CODEPAGE_855
  33. bool "Cyrillic (CP855)"
  34. config FATFS_CODEPAGE_857
  35. bool "Turkish (CP857)"
  36. config FATFS_CODEPAGE_860
  37. bool "Portugese (CP860)"
  38. config FATFS_CODEPAGE_861
  39. bool "Icelandic (CP861)"
  40. config FATFS_CODEPAGE_862
  41. bool "Hebrew (CP862)"
  42. config FATFS_CODEPAGE_863
  43. bool "Canadian French (CP863)"
  44. config FATFS_CODEPAGE_864
  45. bool "Arabic (CP864)"
  46. config FATFS_CODEPAGE_865
  47. bool "Nordic (CP865)"
  48. config FATFS_CODEPAGE_866
  49. bool "Russian (CP866)"
  50. config FATFS_CODEPAGE_869
  51. bool "Greek 2 (CP869)"
  52. config FATFS_CODEPAGE_932
  53. bool "Japanese (DBCS) (CP932)"
  54. config FATFS_CODEPAGE_936
  55. bool "Simplified Chinese (DBCS) (CP936)"
  56. config FATFS_CODEPAGE_949
  57. bool "Korean (DBCS) (CP949)"
  58. config FATFS_CODEPAGE_950
  59. bool "Traditional Chinese (DBCS) (CP950)"
  60. endchoice
  61. config FATFS_CODEPAGE
  62. int
  63. default 0 if FATFS_CODEPAGE_DYNAMIC
  64. default 437 if FATFS_CODEPAGE_437
  65. default 720 if FATFS_CODEPAGE_720
  66. default 737 if FATFS_CODEPAGE_737
  67. default 771 if FATFS_CODEPAGE_771
  68. default 775 if FATFS_CODEPAGE_775
  69. default 850 if FATFS_CODEPAGE_850
  70. default 852 if FATFS_CODEPAGE_852
  71. default 855 if FATFS_CODEPAGE_855
  72. default 857 if FATFS_CODEPAGE_857
  73. default 860 if FATFS_CODEPAGE_860
  74. default 861 if FATFS_CODEPAGE_861
  75. default 862 if FATFS_CODEPAGE_862
  76. default 863 if FATFS_CODEPAGE_863
  77. default 864 if FATFS_CODEPAGE_864
  78. default 865 if FATFS_CODEPAGE_865
  79. default 866 if FATFS_CODEPAGE_866
  80. default 869 if FATFS_CODEPAGE_869
  81. default 932 if FATFS_CODEPAGE_932
  82. default 936 if FATFS_CODEPAGE_936
  83. default 949 if FATFS_CODEPAGE_949
  84. default 950 if FATFS_CODEPAGE_950
  85. default 437
  86. choice FATFS_LONG_FILENAMES
  87. prompt "Long filename support"
  88. default FATFS_LFN_NONE
  89. help
  90. Support long filenames in FAT. Long filename data increases
  91. memory usage. FATFS can be configured to store the buffer for
  92. long filename data in stack or heap.
  93. config FATFS_LFN_NONE
  94. bool "No long filenames"
  95. config FATFS_LFN_HEAP
  96. bool "Long filename buffer in heap"
  97. config FATFS_LFN_STACK
  98. bool "Long filename buffer on stack"
  99. endchoice
  100. config FATFS_MAX_LFN
  101. int "Max long filename length"
  102. depends on !FATFS_LFN_NONE
  103. default 255
  104. range 12 255
  105. help
  106. Maximum long filename length. Can be reduced to save RAM.
  107. choice FATFS_API_ENCODING
  108. prompt "API character encoding"
  109. depends on !FATFS_LFN_NONE
  110. default FATFS_API_ENCODING_ANSI_OEM
  111. help
  112. Choose encoding for character and string arguments/returns when using
  113. FATFS APIs. The encoding of arguments will usually depend on text
  114. editor settings.
  115. config FATFS_API_ENCODING_ANSI_OEM
  116. bool "API uses ANSI/OEM encoding"
  117. config FATFS_API_ENCODING_UTF_16
  118. bool "API uses UTF-16 encoding"
  119. config FATFS_API_ENCODING_UTF_8
  120. bool "API uses UTF-8 encoding"
  121. endchoice
  122. config FATFS_FS_LOCK
  123. int "Number of simultaneously open files protected by lock function"
  124. default 0
  125. range 0 65535
  126. help
  127. This option sets the FATFS configuration value _FS_LOCK.
  128. The option _FS_LOCK switches file lock function to control duplicated file open
  129. and illegal operation to open objects.
  130. * 0: Disable file lock function. To avoid volume corruption, application
  131. should avoid illegal open, remove and rename to the open objects.
  132. * >0: Enable file lock function. The value defines how many files/sub-directories
  133. can be opened simultaneously under file lock control.
  134. Note that the file lock control is independent of re-entrancy.
  135. config FATFS_TIMEOUT_MS
  136. int "Timeout for acquiring a file lock, ms"
  137. default 10000
  138. help
  139. This option sets FATFS configuration value _FS_TIMEOUT, scaled to milliseconds.
  140. Sets the number of milliseconds FATFS will wait to acquire a mutex when
  141. operating on an open file. For example, if one task is performing a lenghty
  142. operation, another task will wait for the first task to release the lock,
  143. and time out after amount of time set by this option.
  144. config FATFS_PER_FILE_CACHE
  145. bool "Use separate cache for each file"
  146. default y
  147. help
  148. This option affects FATFS configuration value _FS_TINY.
  149. If this option is set, _FS_TINY is 0, and each open file has its own cache,
  150. size of the cache is equal to the _MAX_SS variable (512 or 4096 bytes).
  151. This option uses more RAM if more than 1 file is open, but needs less reads
  152. and writes to the storage for some operations.
  153. If this option is not set, _FS_TINY is 1, and single cache is used for
  154. all open files, size is also equal to _MAX_SS variable. This reduces the
  155. amount of heap used when multiple files are open, but increases the number
  156. of read and write operations which FATFS needs to make.
  157. config FATFS_ALLOC_PREFER_EXTRAM
  158. bool "Perfer external RAM when allocating FATFS buffers"
  159. default y
  160. depends on SPIRAM_USE_CAPS_ALLOC || SPIRAM_USE_MALLOC
  161. help
  162. When the option is enabled, internal buffers used by FATFS will be allocated
  163. from external RAM. If the allocation from external RAM fails, the buffer will
  164. be allocated from the internal RAM.
  165. Disable this option if optimizing for performance. Enable this option if
  166. optimizing for internal memory size.
  167. config FATFS_USE_FASTSEEK
  168. bool "Enable fast seek algorithm when using lseek function through VFS FAT"
  169. default n
  170. help
  171. The fast seek feature enables fast backward/long seek operations without
  172. FAT access by using an in-memory CLMT (cluster link map table).
  173. Please note, fast-seek is only allowed for read-mode files, if a
  174. file is opened in write-mode, the seek mechanism will automatically fallback
  175. to the default implementation.
  176. config FATFS_FAST_SEEK_BUFFER_SIZE
  177. int "Fast seek CLMT buffer size"
  178. default 64
  179. depends on FATFS_USE_FASTSEEK
  180. help
  181. If fast seek algorithm is enabled, this defines the size of
  182. CLMT buffer used by this algorithm in 32-bit word units.
  183. This value should be chosen based on prior knowledge of
  184. maximum elements of each file entry would store.
  185. endmenu