ffconf.h
Upload User: zcw0111
Upload Date: 2021-05-17
Package Size: 48k
Code Size: 6k
Category:

3G develop

Development Platform:

C/C++

  1. /*---------------------------------------------------------------------------/
  2. /  FatFs - FAT file system module configuration file  R0.07e  (C)ChaN, 2009
  3. /----------------------------------------------------------------------------/
  4. /
  5. / CAUTION! Do not forget to make clean the project after any changes to
  6. / the configuration options.
  7. /
  8. /----------------------------------------------------------------------------*/
  9. #ifndef _FFCONFIG
  10. #define _FFCONFIG 0x007E
  11. /*---------------------------------------------------------------------------/
  12. / Function and Buffer Configurations
  13. /----------------------------------------------------------------------------*/
  14. #define _FS_TINY 1 /* 0 or 1 */
  15. /* When _FS_TINY is set to 1, FatFs uses the sector buffer in the file system
  16. /  object instead of the sector buffer in the individual file object for file
  17. /  data transfer. This reduces memory consumption 512 bytes each file object. */
  18. #define _FS_READONLY 0 /* 0 or 1 */
  19. /* Setting _FS_READONLY to 1 defines read only configuration. This removes
  20. /  writing functions, f_write, f_sync, f_unlink, f_mkdir, f_chmod, f_rename,
  21. /  f_truncate and useless f_getfree. */
  22. #define _FS_MINIMIZE 2 /* 0, 1, 2 or 3 */
  23. /* The _FS_MINIMIZE option defines minimization level to remove some functions.
  24. /
  25. /   0: Full function.
  26. /   1: f_stat, f_getfree, f_unlink, f_mkdir, f_chmod, f_truncate and f_rename
  27. /      are removed.
  28. /   2: f_opendir and f_readdir are removed in addition to level 1.
  29. /   3: f_lseek is removed in addition to level 2. */
  30. #define _USE_STRFUNC 0 /* 0, 1 or 2 */
  31. /* To enable string functions, set _USE_STRFUNC to 1 or 2. */
  32. #define _USE_MKFS 0 /* 0 or 1 */
  33. /* To enable f_mkfs function, set _USE_MKFS to 1 and set _FS_READONLY to 0 */
  34. #define _USE_FORWARD 0 /* 0 or 1 */
  35. /* To enable f_forward function, set _USE_FORWARD to 1 and set _FS_TINY to 1. */
  36. /*---------------------------------------------------------------------------/
  37. / Locale and Namespace Configurations
  38. /----------------------------------------------------------------------------*/
  39. #define _CODE_PAGE 932
  40. /* The _CODE_PAGE specifies the OEM code page to be used on the target system.
  41. /  Incorrect setting of the code page can cause a file open failure.
  42. /
  43. /   932  - Japanese Shift-JIS (DBCS, OEM, Windows)
  44. /   936  - Simplified Chinese GBK (DBCS, OEM, Windows)
  45. /   949  - Korean (DBCS, OEM, Windows)
  46. /   950  - Traditional Chinese Big5 (DBCS, OEM, Windows)
  47. /   1250 - Central Europe (Windows)
  48. /   1251 - Cyrillic (Windows)
  49. /   1252 - Latin 1 (Windows)
  50. /   1253 - Greek (Windows)
  51. /   1254 - Turkish (Windows)
  52. /   1255 - Hebrew (Windows)
  53. /   1256 - Arabic (Windows)
  54. /   1257 - Baltic (Windows)
  55. /   1258 - Vietnam (OEM, Windows)
  56. /   437  - U.S. (OEM)
  57. /   720  - Arabic (OEM)
  58. /   737  - Greek (OEM)
  59. /   775  - Baltic (OEM)
  60. /   850  - Multilingual Latin 1 (OEM)
  61. /   858  - Multilingual Latin 1 + Euro (OEM)
  62. /   852  - Latin 2 (OEM)
  63. /   855  - Cyrillic (OEM)
  64. /   866  - Russian (OEM)
  65. /   857  - Turkish (OEM)
  66. /   862  - Hebrew (OEM)
  67. /   874  - Thai (OEM, Windows)
  68. / 1    - ASCII only (Valid for non LFN cfg.)
  69. */
  70. #define _USE_LFN 0 /* 0, 1 or 2 */
  71. #define _MAX_LFN 64 /* Maximum LFN length to handle (12 to 255) */
  72. /* The _USE_LFN option switches the LFN support.
  73. /
  74. /   0: Disable LFN. _MAX_LFN and _LFN_UNICODE have no effect.
  75. /   1: Enable LFN with static working buffer on the bss. NOT REENTRANT.
  76. /   2: Enable LFN with dynamic working buffer on the STACK.
  77. /
  78. /  The LFN working buffer occupies (_MAX_LFN + 1) * 2 bytes. When enable LFN,
  79. /  two Unicode handling functions ff_convert() and ff_wtoupper() must be added
  80. /  to the project. */
  81. #define _LFN_UNICODE 0 /* 0 or 1 */
  82. /* To switch the character code set on FatFs API to Unicode,
  83. /  enable LFN feature and set _LFN_UNICODE to 1.
  84. */
  85. #define _FS_RPATH 0 /* 0 or 1 */
  86. /* When _FS_RPATH is set to 1, relative path feature is enabled and f_chdir,
  87. /  f_chdrive function are available.
  88. /  Note that output of the f_readdir fnction is affected by this option. */
  89. /*---------------------------------------------------------------------------/
  90. / Physical Drive Configurations
  91. /----------------------------------------------------------------------------*/
  92. #define _DRIVES 1
  93. /* Number of volumes (logical drives) to be used. */
  94. #define _MAX_SS 512 /* 512, 1024, 2048 or 4096 */
  95. /* Maximum sector size to be handled.
  96. /  Always set 512 for memory card and hard disk but a larger value may be
  97. /  required for floppy disk (512/1024) and optical disk (512/2048).
  98. /  When _MAX_SS is larger than 512, GET_SECTOR_SIZE command must be implememted
  99. /  to the disk_ioctl function. */
  100. #define _MULTI_PARTITION 0 /* 0 or 1 */
  101. /* When _MULTI_PARTITION is set to 0, each volume is bound to the same physical
  102. / drive number and can mount only first primaly partition. When it is set to 1,
  103. / each volume is tied to the partitions listed in Drives[]. */
  104. /*---------------------------------------------------------------------------/
  105. / System Configurations
  106. /----------------------------------------------------------------------------*/
  107. #define _WORD_ACCESS 1 /* 0 or 1 */
  108. /* The _WORD_ACCESS option defines which access method is used to the word
  109. /  data on the FAT volume.
  110. /
  111. /   0: Byte-by-byte access. Always compatible with all platforms.
  112. /   1: Word access. Do not choose this unless following condition is met.
  113. /
  114. /  When the byte order on the memory is big-endian or address miss-aligned
  115. /  word access results incorrect behavior, the _WORD_ACCESS must be set to 0.
  116. /  If it is not the case, the value can also be set to 1 to improve the
  117. /  performance and code size. */
  118. #define _FS_REENTRANT 0 /* 0 or 1 */
  119. #define _FS_TIMEOUT 1000 /* Timeout period in unit of time ticks */
  120. #define _SYNC_t HANDLE /* O/S dependent type of sync object. e.g. HANDLE, OS_EVENT*, ID and etc.. */
  121. /* The _FS_REENTRANT option switches the reentrancy of the FatFs module.
  122. /
  123. /   0: Disable reentrancy. _SYNC_t and _FS_TIMEOUT have no effect.
  124. /   1: Enable reentrancy. Also user provided synchronization handlers,
  125. /      ff_req_grant, ff_rel_grant, ff_del_syncobj and ff_cre_syncobj
  126. /      function must be added to the project. */
  127. #endif /* _FFCONFIG */