User | Revision | Line number | New contents of line |
adrevong |
0:c9f6f3f0cd78
|
1
|
/*---------------------------------------------------------------------------/
|
adrevong |
0:c9f6f3f0cd78
|
2
|
/ FatFs - FAT file system module configuration file R0.11a (C)ChaN, 2015
|
adrevong |
0:c9f6f3f0cd78
|
3
|
/---------------------------------------------------------------------------*/
|
adrevong |
0:c9f6f3f0cd78
|
4
|
|
adrevong |
0:c9f6f3f0cd78
|
5
|
#define _FFCONF 64180 /* Revision ID */
|
adrevong |
0:c9f6f3f0cd78
|
6
|
|
adrevong |
0:c9f6f3f0cd78
|
7
|
#define FFS_DBG 0
|
adrevong |
0:c9f6f3f0cd78
|
8
|
|
adrevong |
0:c9f6f3f0cd78
|
9
|
/*---------------------------------------------------------------------------/
|
adrevong |
0:c9f6f3f0cd78
|
10
|
/ Function Configurations
|
adrevong |
0:c9f6f3f0cd78
|
11
|
/---------------------------------------------------------------------------*/
|
adrevong |
0:c9f6f3f0cd78
|
12
|
|
adrevong |
0:c9f6f3f0cd78
|
13
|
#define _FS_READONLY 0
|
adrevong |
0:c9f6f3f0cd78
|
14
|
/* This option switches read-only configuration. (0:Read/Write or 1:Read-only)
|
adrevong |
0:c9f6f3f0cd78
|
15
|
/ Read-only configuration removes writing API functions, f_write(), f_sync(),
|
adrevong |
0:c9f6f3f0cd78
|
16
|
/ f_unlink(), f_mkdir(), f_chmod(), f_rename(), f_truncate(), f_getfree()
|
adrevong |
0:c9f6f3f0cd78
|
17
|
/ and optional writing functions as well. */
|
adrevong |
0:c9f6f3f0cd78
|
18
|
|
adrevong |
0:c9f6f3f0cd78
|
19
|
|
adrevong |
0:c9f6f3f0cd78
|
20
|
#define _FS_MINIMIZE 0
|
adrevong |
0:c9f6f3f0cd78
|
21
|
/* This option defines minimization level to remove some basic API functions.
|
adrevong |
0:c9f6f3f0cd78
|
22
|
/
|
adrevong |
0:c9f6f3f0cd78
|
23
|
/ 0: All basic functions are enabled.
|
adrevong |
0:c9f6f3f0cd78
|
24
|
/ 1: f_stat(), f_getfree(), f_unlink(), f_mkdir(), f_chmod(), f_utime(),
|
adrevong |
0:c9f6f3f0cd78
|
25
|
/ f_truncate() and f_rename() function are removed.
|
adrevong |
0:c9f6f3f0cd78
|
26
|
/ 2: f_opendir(), f_readdir() and f_closedir() are removed in addition to 1.
|
adrevong |
0:c9f6f3f0cd78
|
27
|
/ 3: f_lseek() function is removed in addition to 2. */
|
adrevong |
0:c9f6f3f0cd78
|
28
|
|
adrevong |
0:c9f6f3f0cd78
|
29
|
|
adrevong |
0:c9f6f3f0cd78
|
30
|
#define _USE_STRFUNC 0
|
adrevong |
0:c9f6f3f0cd78
|
31
|
/* This option switches string functions, f_gets(), f_putc(), f_puts() and
|
adrevong |
0:c9f6f3f0cd78
|
32
|
/ f_printf().
|
adrevong |
0:c9f6f3f0cd78
|
33
|
/
|
adrevong |
0:c9f6f3f0cd78
|
34
|
/ 0: Disable string functions.
|
adrevong |
0:c9f6f3f0cd78
|
35
|
/ 1: Enable without LF-CRLF conversion.
|
adrevong |
0:c9f6f3f0cd78
|
36
|
/ 2: Enable with LF-CRLF conversion. */
|
adrevong |
0:c9f6f3f0cd78
|
37
|
|
adrevong |
0:c9f6f3f0cd78
|
38
|
|
adrevong |
0:c9f6f3f0cd78
|
39
|
#define _USE_FIND 0
|
adrevong |
0:c9f6f3f0cd78
|
40
|
/* This option switches filtered directory read feature and related functions,
|
adrevong |
0:c9f6f3f0cd78
|
41
|
/ f_findfirst() and f_findnext(). (0:Disable or 1:Enable) */
|
adrevong |
0:c9f6f3f0cd78
|
42
|
|
adrevong |
0:c9f6f3f0cd78
|
43
|
|
adrevong |
0:c9f6f3f0cd78
|
44
|
#define _USE_MKFS 1
|
adrevong |
0:c9f6f3f0cd78
|
45
|
/* This option switches f_mkfs() function. (0:Disable or 1:Enable) */
|
adrevong |
0:c9f6f3f0cd78
|
46
|
|
adrevong |
0:c9f6f3f0cd78
|
47
|
|
adrevong |
0:c9f6f3f0cd78
|
48
|
#define _USE_FASTSEEK 0
|
adrevong |
0:c9f6f3f0cd78
|
49
|
/* This option switches fast seek feature. (0:Disable or 1:Enable) */
|
adrevong |
0:c9f6f3f0cd78
|
50
|
|
adrevong |
0:c9f6f3f0cd78
|
51
|
|
adrevong |
0:c9f6f3f0cd78
|
52
|
#define _USE_LABEL 0
|
adrevong |
0:c9f6f3f0cd78
|
53
|
/* This option switches volume label functions, f_getlabel() and f_setlabel().
|
adrevong |
0:c9f6f3f0cd78
|
54
|
/ (0:Disable or 1:Enable) */
|
adrevong |
0:c9f6f3f0cd78
|
55
|
|
adrevong |
0:c9f6f3f0cd78
|
56
|
|
adrevong |
0:c9f6f3f0cd78
|
57
|
#define _USE_FORWARD 0
|
adrevong |
0:c9f6f3f0cd78
|
58
|
/* This option switches f_forward() function. (0:Disable or 1:Enable)
|
adrevong |
0:c9f6f3f0cd78
|
59
|
/ To enable it, also _FS_TINY need to be set to 1. */
|
adrevong |
0:c9f6f3f0cd78
|
60
|
|
adrevong |
0:c9f6f3f0cd78
|
61
|
|
adrevong |
0:c9f6f3f0cd78
|
62
|
/*---------------------------------------------------------------------------/
|
adrevong |
0:c9f6f3f0cd78
|
63
|
/ Locale and Namespace Configurations
|
adrevong |
0:c9f6f3f0cd78
|
64
|
/---------------------------------------------------------------------------*/
|
adrevong |
0:c9f6f3f0cd78
|
65
|
|
adrevong |
0:c9f6f3f0cd78
|
66
|
#define _CODE_PAGE 850
|
adrevong |
0:c9f6f3f0cd78
|
67
|
/* This option specifies the OEM code page to be used on the target system.
|
adrevong |
0:c9f6f3f0cd78
|
68
|
/ Incorrect setting of the code page can cause a file open failure.
|
adrevong |
0:c9f6f3f0cd78
|
69
|
/
|
adrevong |
0:c9f6f3f0cd78
|
70
|
/ 1 - ASCII (No extended character. Non-LFN cfg. only)
|
adrevong |
0:c9f6f3f0cd78
|
71
|
/ 437 - U.S.
|
adrevong |
0:c9f6f3f0cd78
|
72
|
/ 720 - Arabic
|
adrevong |
0:c9f6f3f0cd78
|
73
|
/ 737 - Greek
|
adrevong |
0:c9f6f3f0cd78
|
74
|
/ 771 - KBL
|
adrevong |
0:c9f6f3f0cd78
|
75
|
/ 775 - Baltic
|
adrevong |
0:c9f6f3f0cd78
|
76
|
/ 850 - Latin 1
|
adrevong |
0:c9f6f3f0cd78
|
77
|
/ 852 - Latin 2
|
adrevong |
0:c9f6f3f0cd78
|
78
|
/ 855 - Cyrillic
|
adrevong |
0:c9f6f3f0cd78
|
79
|
/ 857 - Turkish
|
adrevong |
0:c9f6f3f0cd78
|
80
|
/ 860 - Portuguese
|
adrevong |
0:c9f6f3f0cd78
|
81
|
/ 861 - Icelandic
|
adrevong |
0:c9f6f3f0cd78
|
82
|
/ 862 - Hebrew
|
adrevong |
0:c9f6f3f0cd78
|
83
|
/ 863 - Canadian French
|
adrevong |
0:c9f6f3f0cd78
|
84
|
/ 864 - Arabic
|
adrevong |
0:c9f6f3f0cd78
|
85
|
/ 865 - Nordic
|
adrevong |
0:c9f6f3f0cd78
|
86
|
/ 866 - Russian
|
adrevong |
0:c9f6f3f0cd78
|
87
|
/ 869 - Greek 2
|
adrevong |
0:c9f6f3f0cd78
|
88
|
/ 932 - Japanese (DBCS)
|
adrevong |
0:c9f6f3f0cd78
|
89
|
/ 936 - Simplified Chinese (DBCS)
|
adrevong |
0:c9f6f3f0cd78
|
90
|
/ 949 - Korean (DBCS)
|
adrevong |
0:c9f6f3f0cd78
|
91
|
/ 950 - Traditional Chinese (DBCS)
|
adrevong |
0:c9f6f3f0cd78
|
92
|
*/
|
adrevong |
0:c9f6f3f0cd78
|
93
|
|
adrevong |
0:c9f6f3f0cd78
|
94
|
|
adrevong |
0:c9f6f3f0cd78
|
95
|
#define _USE_LFN 1
|
adrevong |
0:c9f6f3f0cd78
|
96
|
#define _MAX_LFN 255
|
adrevong |
0:c9f6f3f0cd78
|
97
|
/* The _USE_LFN option switches the LFN feature.
|
adrevong |
0:c9f6f3f0cd78
|
98
|
/
|
adrevong |
0:c9f6f3f0cd78
|
99
|
/ 0: Disable LFN feature. _MAX_LFN has no effect.
|
adrevong |
0:c9f6f3f0cd78
|
100
|
/ 1: Enable LFN with static working buffer on the BSS. Always NOT thread-safe.
|
adrevong |
0:c9f6f3f0cd78
|
101
|
/ 2: Enable LFN with dynamic working buffer on the STACK.
|
adrevong |
0:c9f6f3f0cd78
|
102
|
/ 3: Enable LFN with dynamic working buffer on the HEAP.
|
adrevong |
0:c9f6f3f0cd78
|
103
|
/
|
adrevong |
0:c9f6f3f0cd78
|
104
|
/ When enable the LFN feature, Unicode handling functions (option/unicode.c) must
|
adrevong |
0:c9f6f3f0cd78
|
105
|
/ be added to the project. The LFN working buffer occupies (_MAX_LFN + 1) * 2 bytes.
|
adrevong |
0:c9f6f3f0cd78
|
106
|
/ When use stack for the working buffer, take care on stack overflow. When use heap
|
adrevong |
0:c9f6f3f0cd78
|
107
|
/ memory for the working buffer, memory management functions, ff_memalloc() and
|
adrevong |
0:c9f6f3f0cd78
|
108
|
/ ff_memfree(), must be added to the project. */
|
adrevong |
0:c9f6f3f0cd78
|
109
|
|
adrevong |
0:c9f6f3f0cd78
|
110
|
|
adrevong |
0:c9f6f3f0cd78
|
111
|
#define _LFN_UNICODE 0
|
adrevong |
0:c9f6f3f0cd78
|
112
|
/* This option switches character encoding on the API. (0:ANSI/OEM or 1:Unicode)
|
adrevong |
0:c9f6f3f0cd78
|
113
|
/ To use Unicode string for the path name, enable LFN feature and set _LFN_UNICODE
|
adrevong |
0:c9f6f3f0cd78
|
114
|
/ to 1. This option also affects behavior of string I/O functions. */
|
adrevong |
0:c9f6f3f0cd78
|
115
|
|
adrevong |
0:c9f6f3f0cd78
|
116
|
|
adrevong |
0:c9f6f3f0cd78
|
117
|
#define _STRF_ENCODE 3
|
adrevong |
0:c9f6f3f0cd78
|
118
|
/* When _LFN_UNICODE is 1, this option selects the character encoding on the file to
|
adrevong |
0:c9f6f3f0cd78
|
119
|
/ be read/written via string I/O functions, f_gets(), f_putc(), f_puts and f_printf().
|
adrevong |
0:c9f6f3f0cd78
|
120
|
/
|
adrevong |
0:c9f6f3f0cd78
|
121
|
/ 0: ANSI/OEM
|
adrevong |
0:c9f6f3f0cd78
|
122
|
/ 1: UTF-16LE
|
adrevong |
0:c9f6f3f0cd78
|
123
|
/ 2: UTF-16BE
|
adrevong |
0:c9f6f3f0cd78
|
124
|
/ 3: UTF-8
|
adrevong |
0:c9f6f3f0cd78
|
125
|
/
|
adrevong |
0:c9f6f3f0cd78
|
126
|
/ When _LFN_UNICODE is 0, this option has no effect. */
|
adrevong |
0:c9f6f3f0cd78
|
127
|
|
adrevong |
0:c9f6f3f0cd78
|
128
|
|
adrevong |
0:c9f6f3f0cd78
|
129
|
#define _FS_RPATH 0
|
adrevong |
0:c9f6f3f0cd78
|
130
|
/* This option configures relative path feature.
|
adrevong |
0:c9f6f3f0cd78
|
131
|
/
|
adrevong |
0:c9f6f3f0cd78
|
132
|
/ 0: Disable relative path feature and remove related functions.
|
adrevong |
0:c9f6f3f0cd78
|
133
|
/ 1: Enable relative path feature. f_chdir() and f_chdrive() are available.
|
adrevong |
0:c9f6f3f0cd78
|
134
|
/ 2: f_getcwd() function is available in addition to 1.
|
adrevong |
0:c9f6f3f0cd78
|
135
|
/
|
adrevong |
0:c9f6f3f0cd78
|
136
|
/ Note that directory items read via f_readdir() are affected by this option. */
|
adrevong |
0:c9f6f3f0cd78
|
137
|
|
adrevong |
0:c9f6f3f0cd78
|
138
|
|
adrevong |
0:c9f6f3f0cd78
|
139
|
/*---------------------------------------------------------------------------/
|
adrevong |
0:c9f6f3f0cd78
|
140
|
/ Drive/Volume Configurations
|
adrevong |
0:c9f6f3f0cd78
|
141
|
/---------------------------------------------------------------------------*/
|
adrevong |
0:c9f6f3f0cd78
|
142
|
|
adrevong |
0:c9f6f3f0cd78
|
143
|
#define _VOLUMES 1
|
adrevong |
0:c9f6f3f0cd78
|
144
|
/* Number of volumes (logical drives) to be used. */
|
adrevong |
0:c9f6f3f0cd78
|
145
|
|
adrevong |
0:c9f6f3f0cd78
|
146
|
|
adrevong |
0:c9f6f3f0cd78
|
147
|
#define _STR_VOLUME_ID 0
|
adrevong |
0:c9f6f3f0cd78
|
148
|
#define _VOLUME_STRS "RAM","NAND","CF","SD1","SD2","USB1","USB2","USB3"
|
adrevong |
0:c9f6f3f0cd78
|
149
|
/* _STR_VOLUME_ID option switches string volume ID feature.
|
adrevong |
0:c9f6f3f0cd78
|
150
|
/ When _STR_VOLUME_ID is set to 1, also pre-defined strings can be used as drive
|
adrevong |
0:c9f6f3f0cd78
|
151
|
/ number in the path name. _VOLUME_STRS defines the drive ID strings for each
|
adrevong |
0:c9f6f3f0cd78
|
152
|
/ logical drives. Number of items must be equal to _VOLUMES. Valid characters for
|
adrevong |
0:c9f6f3f0cd78
|
153
|
/ the drive ID strings are: A-Z and 0-9. */
|
adrevong |
0:c9f6f3f0cd78
|
154
|
|
adrevong |
0:c9f6f3f0cd78
|
155
|
|
adrevong |
0:c9f6f3f0cd78
|
156
|
#define _MULTI_PARTITION 0
|
adrevong |
0:c9f6f3f0cd78
|
157
|
/* This option switches multi-partition feature. By default (0), each logical drive
|
adrevong |
0:c9f6f3f0cd78
|
158
|
/ number is bound to the same physical drive number and only an FAT volume found on
|
adrevong |
0:c9f6f3f0cd78
|
159
|
/ the physical drive will be mounted. When multi-partition feature is enabled (1),
|
adrevong |
0:c9f6f3f0cd78
|
160
|
/ each logical drive number is bound to arbitrary physical drive and partition
|
adrevong |
0:c9f6f3f0cd78
|
161
|
/ listed in the VolToPart[]. Also f_fdisk() funciton will be available. */
|
adrevong |
0:c9f6f3f0cd78
|
162
|
|
adrevong |
0:c9f6f3f0cd78
|
163
|
|
adrevong |
0:c9f6f3f0cd78
|
164
|
#define _MIN_SS 512
|
adrevong |
0:c9f6f3f0cd78
|
165
|
#define _MAX_SS 512
|
adrevong |
0:c9f6f3f0cd78
|
166
|
/* These options configure the range of sector size to be supported. (512, 1024,
|
adrevong |
0:c9f6f3f0cd78
|
167
|
/ 2048 or 4096) Always set both 512 for most systems, all type of memory cards and
|
adrevong |
0:c9f6f3f0cd78
|
168
|
/ harddisk. But a larger value may be required for on-board flash memory and some
|
adrevong |
0:c9f6f3f0cd78
|
169
|
/ type of optical media. When _MAX_SS is larger than _MIN_SS, FatFs is configured
|
adrevong |
0:c9f6f3f0cd78
|
170
|
/ to variable sector size and GET_SECTOR_SIZE command must be implemented to the
|
adrevong |
0:c9f6f3f0cd78
|
171
|
/ disk_ioctl() function. */
|
adrevong |
0:c9f6f3f0cd78
|
172
|
|
adrevong |
0:c9f6f3f0cd78
|
173
|
|
adrevong |
0:c9f6f3f0cd78
|
174
|
#define _USE_TRIM 0
|
adrevong |
0:c9f6f3f0cd78
|
175
|
/* This option switches ATA-TRIM feature. (0:Disable or 1:Enable)
|
adrevong |
0:c9f6f3f0cd78
|
176
|
/ To enable Trim feature, also CTRL_TRIM command should be implemented to the
|
adrevong |
0:c9f6f3f0cd78
|
177
|
/ disk_ioctl() function. */
|
adrevong |
0:c9f6f3f0cd78
|
178
|
|
adrevong |
0:c9f6f3f0cd78
|
179
|
|
adrevong |
0:c9f6f3f0cd78
|
180
|
#define _FS_NOFSINFO 0
|
adrevong |
0:c9f6f3f0cd78
|
181
|
/* If you need to know correct free space on the FAT32 volume, set bit 0 of this
|
adrevong |
0:c9f6f3f0cd78
|
182
|
/ option, and f_getfree() function at first time after volume mount will force
|
adrevong |
0:c9f6f3f0cd78
|
183
|
/ a full FAT scan. Bit 1 controls the use of last allocated cluster number.
|
adrevong |
0:c9f6f3f0cd78
|
184
|
/
|
adrevong |
0:c9f6f3f0cd78
|
185
|
/ bit0=0: Use free cluster count in the FSINFO if available.
|
adrevong |
0:c9f6f3f0cd78
|
186
|
/ bit0=1: Do not trust free cluster count in the FSINFO.
|
adrevong |
0:c9f6f3f0cd78
|
187
|
/ bit1=0: Use last allocated cluster number in the FSINFO if available.
|
adrevong |
0:c9f6f3f0cd78
|
188
|
/ bit1=1: Do not trust last allocated cluster number in the FSINFO.
|
adrevong |
0:c9f6f3f0cd78
|
189
|
*/
|
adrevong |
0:c9f6f3f0cd78
|
190
|
|
adrevong |
0:c9f6f3f0cd78
|
191
|
|
adrevong |
0:c9f6f3f0cd78
|
192
|
|
adrevong |
0:c9f6f3f0cd78
|
193
|
/*---------------------------------------------------------------------------/
|
adrevong |
0:c9f6f3f0cd78
|
194
|
/ System Configurations
|
adrevong |
0:c9f6f3f0cd78
|
195
|
/---------------------------------------------------------------------------*/
|
adrevong |
0:c9f6f3f0cd78
|
196
|
|
adrevong |
0:c9f6f3f0cd78
|
197
|
#define _FS_TINY 0
|
adrevong |
0:c9f6f3f0cd78
|
198
|
/* This option switches tiny buffer configuration. (0:Normal or 1:Tiny)
|
adrevong |
0:c9f6f3f0cd78
|
199
|
/ At the tiny configuration, size of the file object (FIL) is reduced _MAX_SS
|
adrevong |
0:c9f6f3f0cd78
|
200
|
/ bytes. Instead of private sector buffer eliminated from the file object,
|
adrevong |
0:c9f6f3f0cd78
|
201
|
/ common sector buffer in the file system object (FATFS) is used for the file
|
adrevong |
0:c9f6f3f0cd78
|
202
|
/ data transfer. */
|
adrevong |
0:c9f6f3f0cd78
|
203
|
|
adrevong |
0:c9f6f3f0cd78
|
204
|
|
adrevong |
0:c9f6f3f0cd78
|
205
|
#define _FS_NORTC 0
|
adrevong |
0:c9f6f3f0cd78
|
206
|
#define _NORTC_MON 1
|
adrevong |
0:c9f6f3f0cd78
|
207
|
#define _NORTC_MDAY 1
|
adrevong |
0:c9f6f3f0cd78
|
208
|
#define _NORTC_YEAR 2015
|
adrevong |
0:c9f6f3f0cd78
|
209
|
/* The _FS_NORTC option switches timestamp feature. If the system does not have
|
adrevong |
0:c9f6f3f0cd78
|
210
|
/ an RTC function or valid timestamp is not needed, set _FS_NORTC to 1 to disable
|
adrevong |
0:c9f6f3f0cd78
|
211
|
/ the timestamp feature. All objects modified by FatFs will have a fixed timestamp
|
adrevong |
0:c9f6f3f0cd78
|
212
|
/ defined by _NORTC_MON, _NORTC_MDAY and _NORTC_YEAR.
|
adrevong |
0:c9f6f3f0cd78
|
213
|
/ When timestamp feature is enabled (_FS_NORTC == 0), get_fattime() function need
|
adrevong |
0:c9f6f3f0cd78
|
214
|
/ to be added to the project to read current time form RTC. _NORTC_MON,
|
adrevong |
0:c9f6f3f0cd78
|
215
|
/ _NORTC_MDAY and _NORTC_YEAR have no effect.
|
adrevong |
0:c9f6f3f0cd78
|
216
|
/ These options have no effect at read-only configuration (_FS_READONLY == 1). */
|
adrevong |
0:c9f6f3f0cd78
|
217
|
|
adrevong |
0:c9f6f3f0cd78
|
218
|
|
adrevong |
0:c9f6f3f0cd78
|
219
|
#define _FS_LOCK 0
|
adrevong |
0:c9f6f3f0cd78
|
220
|
/* The _FS_LOCK option switches file lock feature to control duplicated file open
|
adrevong |
0:c9f6f3f0cd78
|
221
|
/ and illegal operation to open objects. This option must be 0 when _FS_READONLY
|
adrevong |
0:c9f6f3f0cd78
|
222
|
/ is 1.
|
adrevong |
0:c9f6f3f0cd78
|
223
|
/
|
adrevong |
0:c9f6f3f0cd78
|
224
|
/ 0: Disable file lock feature. To avoid volume corruption, application program
|
adrevong |
0:c9f6f3f0cd78
|
225
|
/ should avoid illegal open, remove and rename to the open objects.
|
adrevong |
0:c9f6f3f0cd78
|
226
|
/ >0: Enable file lock feature. The value defines how many files/sub-directories
|
adrevong |
0:c9f6f3f0cd78
|
227
|
/ can be opened simultaneously under file lock control. Note that the file
|
adrevong |
0:c9f6f3f0cd78
|
228
|
/ lock feature is independent of re-entrancy. */
|
adrevong |
0:c9f6f3f0cd78
|
229
|
|
adrevong |
0:c9f6f3f0cd78
|
230
|
|
adrevong |
0:c9f6f3f0cd78
|
231
|
#define _FS_REENTRANT 0
|
adrevong |
0:c9f6f3f0cd78
|
232
|
#define _FS_TIMEOUT 1000
|
adrevong |
0:c9f6f3f0cd78
|
233
|
#define _SYNC_t HANDLE
|
adrevong |
0:c9f6f3f0cd78
|
234
|
/* The _FS_REENTRANT option switches the re-entrancy (thread safe) of the FatFs
|
adrevong |
0:c9f6f3f0cd78
|
235
|
/ module itself. Note that regardless of this option, file access to different
|
adrevong |
0:c9f6f3f0cd78
|
236
|
/ volume is always re-entrant and volume control functions, f_mount(), f_mkfs()
|
adrevong |
0:c9f6f3f0cd78
|
237
|
/ and f_fdisk() function, are always not re-entrant. Only file/directory access
|
adrevong |
0:c9f6f3f0cd78
|
238
|
/ to the same volume is under control of this feature.
|
adrevong |
0:c9f6f3f0cd78
|
239
|
/
|
adrevong |
0:c9f6f3f0cd78
|
240
|
/ 0: Disable re-entrancy. _FS_TIMEOUT and _SYNC_t have no effect.
|
adrevong |
0:c9f6f3f0cd78
|
241
|
/ 1: Enable re-entrancy. Also user provided synchronization handlers,
|
adrevong |
0:c9f6f3f0cd78
|
242
|
/ ff_req_grant(), ff_rel_grant(), ff_del_syncobj() and ff_cre_syncobj()
|
adrevong |
0:c9f6f3f0cd78
|
243
|
/ function, must be added to the project. Samples are available in
|
adrevong |
0:c9f6f3f0cd78
|
244
|
/ option/syscall.c.
|
adrevong |
0:c9f6f3f0cd78
|
245
|
/
|
adrevong |
0:c9f6f3f0cd78
|
246
|
/ The _FS_TIMEOUT defines timeout period in unit of time tick.
|
adrevong |
0:c9f6f3f0cd78
|
247
|
/ The _SYNC_t defines O/S dependent sync object type. e.g. HANDLE, ID, OS_EVENT*,
|
adrevong |
0:c9f6f3f0cd78
|
248
|
/ SemaphoreHandle_t and etc.. A header file for O/S definitions needs to be
|
adrevong |
0:c9f6f3f0cd78
|
249
|
/ included somewhere in the scope of ff.c. */
|
adrevong |
0:c9f6f3f0cd78
|
250
|
|
adrevong |
0:c9f6f3f0cd78
|
251
|
|
adrevong |
0:c9f6f3f0cd78
|
252
|
#define _WORD_ACCESS 0
|
adrevong |
0:c9f6f3f0cd78
|
253
|
/* The _WORD_ACCESS option is an only platform dependent option. It defines
|
adrevong |
0:c9f6f3f0cd78
|
254
|
/ which access method is used to the word data on the FAT volume.
|
adrevong |
0:c9f6f3f0cd78
|
255
|
/
|
adrevong |
0:c9f6f3f0cd78
|
256
|
/ 0: Byte-by-byte access. Always compatible with all platforms.
|
adrevong |
0:c9f6f3f0cd78
|
257
|
/ 1: Word access. Do not choose this unless under both the following conditions.
|
adrevong |
0:c9f6f3f0cd78
|
258
|
/
|
adrevong |
0:c9f6f3f0cd78
|
259
|
/ * Address misaligned memory access is always allowed to ALL instructions.
|
adrevong |
0:c9f6f3f0cd78
|
260
|
/ * Byte order on the memory is little-endian.
|
adrevong |
0:c9f6f3f0cd78
|
261
|
/
|
adrevong |
0:c9f6f3f0cd78
|
262
|
/ If it is the case, _WORD_ACCESS can also be set to 1 to reduce code size.
|
adrevong |
0:c9f6f3f0cd78
|
263
|
/ Following table shows allowable settings of some type of processors.
|
adrevong |
0:c9f6f3f0cd78
|
264
|
/
|
adrevong |
0:c9f6f3f0cd78
|
265
|
/ ARM7TDMI 0 *2 ColdFire 0 *1 V850E 0 *2
|
adrevong |
0:c9f6f3f0cd78
|
266
|
/ Cortex-M3 0 *3 Z80 0/1 V850ES 0/1
|
adrevong |
0:c9f6f3f0cd78
|
267
|
/ Cortex-M0 0 *2 x86 0/1 TLCS-870 0/1
|
adrevong |
0:c9f6f3f0cd78
|
268
|
/ AVR 0/1 RX600(LE) 0/1 TLCS-900 0/1
|
adrevong |
0:c9f6f3f0cd78
|
269
|
/ AVR32 0 *1 RL78 0 *2 R32C 0 *2
|
adrevong |
0:c9f6f3f0cd78
|
270
|
/ PIC18 0/1 SH-2 0 *1 M16C 0/1
|
adrevong |
0:c9f6f3f0cd78
|
271
|
/ PIC24 0 *2 H8S 0 *1 MSP430 0 *2
|
adrevong |
0:c9f6f3f0cd78
|
272
|
/ PIC32 0 *1 H8/300H 0 *1 8051 0/1
|
adrevong |
0:c9f6f3f0cd78
|
273
|
/
|
adrevong |
0:c9f6f3f0cd78
|
274
|
/ *1:Big-endian.
|
adrevong |
0:c9f6f3f0cd78
|
275
|
/ *2:Unaligned memory access is not supported.
|
adrevong |
0:c9f6f3f0cd78
|
276
|
/ *3:Some compilers generate LDM/STM for mem_cpy function.
|
adrevong |
0:c9f6f3f0cd78
|
277
|
*/
|
adrevong |
0:c9f6f3f0cd78
|
278
|
|
adrevong |
0:c9f6f3f0cd78
|
279
|
#define FLUSH_ON_NEW_CLUSTER 0 /* Sync the file on every new cluster */
|
adrevong |
0:c9f6f3f0cd78
|
280
|
#define FLUSH_ON_NEW_SECTOR 1 /* Sync the file on every new sector */
|
adrevong |
0:c9f6f3f0cd78
|
281
|
/* Only one of these two defines needs to be set to 1. If both are set to 0
|
adrevong |
0:c9f6f3f0cd78
|
282
|
the file is only sync when closed.
|
adrevong |
0:c9f6f3f0cd78
|
283
|
Clusters are group of sectors (eg: 8 sectors). Flushing on new cluster means
|
adrevong |
0:c9f6f3f0cd78
|
284
|
it would be less often than flushing on new sector. Sectors are generally
|
adrevong |
0:c9f6f3f0cd78
|
285
|
512 Bytes long. */
|