Skip to content

Commit 19871ac

Browse files
author
chenjh
committed
[Update] fatfs synchronize to R0.12a
1 parent 055c3d3 commit 19871ac

File tree

18 files changed

+33643
-19038
lines changed

18 files changed

+33643
-19038
lines changed

components/dfs/filesystems/elmfat/00history.txt

Lines changed: 2 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ R0.10a (January 15, 2014)
212212
R0.10b (May 19, 2014)
213213

214214
Fixed a hard error in the disk I/O layer can collapse the directory entry.
215-
Fixed LFN entry is not deleted when delete/rename an object with lossy converted SFN. (appeared at R0.07)
215+
Fixed LFN entry is not deleted on delete/rename an object with lossy converted SFN. (appeared at R0.07)
216216

217217

218218

@@ -268,7 +268,7 @@ R0.12a (July 10, 2016)
268268

269269
R0.12b (September 04, 2016)
270270

271-
Made f_rename() be able to rename objects with the same name but case.
271+
Improved f_rename() to be able to rename objects with the same name but case.
272272
Fixed an error in the case conversion teble of code page 866. (ff.c)
273273
Fixed writing data is truncated at the file offset 4GiB on the exFAT volume. (appeared at R0.12)
274274
Fixed creating a file in the root directory of exFAT volume can fail. (appeared at R0.12)
@@ -277,64 +277,3 @@ R0.12b (September 04, 2016)
277277
Fixed large file allocation/removing on the exFAT volume collapses allocation bitmap. (appeared at R0.12)
278278
Fixed some internal errors in f_expand() and f_lseek(). (appeared at R0.12)
279279

280-
281-
282-
R0.12c (March 04, 2017)
283-
284-
Improved write throughput at the fragmented file on the exFAT volume.
285-
Made memory usage for exFAT be able to be reduced as decreasing _MAX_LFN.
286-
Fixed successive f_getfree() can return wrong count on the FAT12/16 volume. (appeared at R0.12)
287-
Fixed configuration option _VOLUMES cannot be set 10. (appeared at R0.10c)
288-
289-
290-
291-
R0.13 (May 21, 2017)
292-
293-
Changed heading character of configuration keywords "_" to "FF_".
294-
Removed ASCII-only configuration, FF_CODE_PAGE = 1. Use FF_CODE_PAGE = 437 instead.
295-
Added f_setcp(), run-time code page configuration. (FF_CODE_PAGE = 0)
296-
Improved cluster allocation time on stretch a deep buried cluster chain.
297-
Improved processing time of f_mkdir() with large cluster size by using FF_USE_LFN = 3.
298-
Improved NoFatChain flag of the fragmented file to be set after it is truncated and got contiguous.
299-
Fixed archive attribute is left not set when a file on the exFAT volume is renamed. (appeared at R0.12)
300-
Fixed exFAT FAT entry can be collapsed when write or lseek operation to the existing file is done. (appeared at R0.12c)
301-
Fixed creating a file can fail when a new cluster allocation to the exFAT directory occures. (appeared at R0.12c)
302-
303-
304-
305-
R0.13a (October 14, 2017)
306-
307-
Added support for UTF-8 encoding on the API. (FF_LFN_UNICODE = 2)
308-
Added options for file name output buffer. (FF_LFN_BUF, FF_SFN_BUF).
309-
Added dynamic memory allocation option for working buffer of f_mkfs() and f_fdisk().
310-
Fixed f_fdisk() and f_mkfs() create the partition table with wrong CHS parameters. (appeared at R0.09)
311-
Fixed f_unlink() can cause lost clusters at fragmented file on the exFAT volume. (appeared at R0.12c)
312-
Fixed f_setlabel() rejects some valid characters for exFAT volume. (appeared at R0.12)
313-
314-
315-
316-
R0.13b (April 07, 2018)
317-
318-
Added support for UTF-32 encoding on the API. (FF_LFN_UNICODE = 3)
319-
Added support for Unix style volume ID. (FF_STR_VOLUME_ID = 2)
320-
Fixed accesing any object on the exFAT root directory beyond the cluster boundary can fail. (appeared at R0.12c)
321-
Fixed f_setlabel() does not reject some invalid characters. (appeared at R0.09b)
322-
323-
324-
325-
R0.13c (October 14, 2018)
326-
Supported stdint.h for C99 and later. (integer.h was included in ff.h)
327-
Fixed reading a directory gets infinite loop when the last directory entry is not empty. (appeared at R0.12)
328-
Fixed creating a sub-directory in the fragmented sub-directory on the exFAT volume collapses FAT chain of the parent directory. (appeared at R0.12)
329-
Fixed f_getcwd() cause output buffer overrun when the buffer has a valid drive number. (appeared at R0.13b)
330-
331-
332-
333-
R0.14 (October 14, 2019)
334-
Added support for 64-bit LBA and GUID partition table (FF_LBA64 = 1)
335-
Changed some API functions, f_mkfs() and f_fdisk().
336-
Fixed f_open() function cannot find the file with file name in length of FF_MAX_LFN characters.
337-
Fixed f_readdir() function cannot retrieve long file names in length of FF_MAX_LFN - 1 characters.
338-
Fixed f_readdir() function returns file names with wrong case conversion. (appeared at R0.12)
339-
Fixed f_mkfs() function can fail to create exFAT volume in the second partition. (appeared at R0.12)
340-
Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
1-
FatFs Module Source Files R0.14
1+
FatFs Module Source Files R0.12a
22

33

44
FILES
55

6-
00readme.txt This file.
7-
00history.txt Revision history.
8-
ff.c FatFs module.
9-
ffconf.h Configuration file of FatFs module.
10-
ff.h Common include file for FatFs and application module.
11-
diskio.h Common include file for FatFs and disk I/O module.
12-
diskio.c An example of glue function to attach existing disk I/O module to FatFs.
13-
ffunicode.c Optional Unicode utility functions.
14-
ffsystem.c An example of optional O/S related functions.
6+
00readme.txt This file.
7+
history.txt Revision history.
8+
ffconf.h Configuration file for FatFs module.
9+
ff.h Common include file for FatFs and application module.
10+
ff.c FatFs module.
11+
diskio.h Common include file for FatFs and disk I/O module.
12+
diskio.c An example of glue function to attach existing disk I/O module to FatFs.
13+
integer.h Integer type definitions for FatFs.
14+
option Optional external functions.
1515

1616

1717
Low level disk I/O module is not included in this archive because the FatFs
18-
module is only a generic file system layer and it does not depend on any specific
19-
storage device. You need to provide a low level disk I/O module written to
20-
control the storage device that attached to the target system.
18+
module is only a generic file system layer and not depend on any specific
19+
storage device. You have to provide a low level disk I/O module that written
20+
to control the target storage device.
2121

components/dfs/filesystems/elmfat/SConscript

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,21 @@ cwd = GetCurrentDir()
66
src = Glob('*.c')
77
CPPPATH = [cwd]
88

9+
if GetDepend('RT_DFS_ELM_USE_LFN'):
10+
if GetDepend('RT_DFS_ELM_CODE_PAGE_FILE'):
11+
src += ['option/ccfile.c']
12+
else:
13+
if GetConfigValue('RT_DFS_ELM_CODE_PAGE') == 932:
14+
src += ['option/cc932.c']
15+
elif GetConfigValue('RT_DFS_ELM_CODE_PAGE') == 936:
16+
src += ['option/cc936.c']
17+
elif GetConfigValue('RT_DFS_ELM_CODE_PAGE') == 949:
18+
src += ['option/cc949.c']
19+
elif GetConfigValue('RT_DFS_ELM_CODE_PAGE') == 950:
20+
src += ['option/cc950.c']
21+
else:
22+
src += ['option/ccsbcs.c']
23+
924
group = DefineGroup('Filesystem', src, depend = ['RT_USING_DFS', 'RT_USING_DFS_ELMFAT'], CPPPATH = CPPPATH)
1025

1126
Return('group')

0 commit comments

Comments
 (0)