[164] | 1 | FatFs Module Source Files R0.10b (C)ChaN, 2014
|
---|
| 2 |
|
---|
| 3 |
|
---|
| 4 | FILES
|
---|
| 5 |
|
---|
| 6 | ffconf.h Configuration file for FatFs module.
|
---|
| 7 | ff.h Common include file for FatFs and application module.
|
---|
| 8 | ff.c FatFs module.
|
---|
| 9 | diskio.h Common include file for FatFs and disk I/O module.
|
---|
| 10 | diskio.c An example of glue function to attach existing disk I/O module to FatFs.
|
---|
| 11 | integer.h Integer type definitions for FatFs.
|
---|
| 12 | option Optional external functions.
|
---|
| 13 |
|
---|
| 14 | Low level disk I/O module is not included in this archive because the FatFs
|
---|
| 15 | module is only a generic file system layer and not depend on any specific
|
---|
| 16 | storage device. You have to provide a low level disk I/O module that written
|
---|
| 17 | to control your storage device.
|
---|
| 18 |
|
---|
| 19 |
|
---|
| 20 |
|
---|
| 21 | AGREEMENTS
|
---|
| 22 |
|
---|
| 23 | FatFs module is an open source software to implement FAT file system to
|
---|
| 24 | small embedded systems. This is a free software and is opened for education,
|
---|
| 25 | research and commercial developments under license policy of following trems.
|
---|
| 26 |
|
---|
| 27 | Copyright (C) 2014, ChaN, all right reserved.
|
---|
| 28 |
|
---|
| 29 | * The FatFs module is a free software and there is NO WARRANTY.
|
---|
| 30 | * No restriction on use. You can use, modify and redistribute it for
|
---|
| 31 | personal, non-profit or commercial product UNDER YOUR RESPONSIBILITY.
|
---|
| 32 | * Redistributions of source code must retain the above copyright notice.
|
---|
| 33 |
|
---|
| 34 |
|
---|
| 35 |
|
---|
| 36 | REVISION HISTORY
|
---|
| 37 |
|
---|
| 38 | Feb 26, 2006 R0.00 Prototype
|
---|
| 39 |
|
---|
| 40 | Apr 29, 2006 R0.01 First release.
|
---|
| 41 |
|
---|
| 42 | Jun 01, 2006 R0.02 Added FAT12.
|
---|
| 43 | Removed unbuffered mode.
|
---|
| 44 | Fixed a problem on small (<32M) patition.
|
---|
| 45 |
|
---|
| 46 | Jun 10, 2006 R0.02a Added a configuration option _FS_MINIMUM.
|
---|
| 47 |
|
---|
| 48 | Sep 22, 2006 R0.03 Added f_rename.
|
---|
| 49 | Changed option _FS_MINIMUM to _FS_MINIMIZE.
|
---|
| 50 |
|
---|
| 51 | Dec 11, 2006 R0.03a Improved cluster scan algolithm to write files fast.
|
---|
| 52 | Fixed f_mkdir creates incorrect directory on FAT32.
|
---|
| 53 |
|
---|
| 54 | Feb 04, 2007 R0.04 Supported multiple drive system. (FatFs)
|
---|
| 55 | Changed some APIs for multiple drive system.
|
---|
| 56 | Added f_mkfs. (FatFs)
|
---|
| 57 | Added _USE_FAT32 option. (Tiny-FatFs)
|
---|
| 58 |
|
---|
| 59 | Apr 01, 2007 R0.04a Supported multiple partitions on a plysical drive. (FatFs)
|
---|
| 60 | Fixed an endian sensitive code in f_mkfs. (FatFs)
|
---|
| 61 | Added a capability of extending the file size to f_lseek.
|
---|
| 62 | Added minimization level 3.
|
---|
| 63 | Fixed a problem that can collapse a sector when recreate an
|
---|
| 64 | existing file in any sub-directory at non FAT32 cfg. (Tiny-FatFs)
|
---|
| 65 |
|
---|
| 66 | May 05, 2007 R0.04b Added _USE_NTFLAG option.
|
---|
| 67 | Added FSInfo support.
|
---|
| 68 | Fixed some problems corresponds to FAT32. (Tiny-FatFs)
|
---|
| 69 | Fixed DBCS name can result FR_INVALID_NAME.
|
---|
| 70 | Fixed short seek (0 < ofs <= csize) collapses the file object.
|
---|
| 71 |
|
---|
| 72 | Aug 25, 2007 R0.05 Changed arguments of f_read, f_write.
|
---|
| 73 | Changed arguments of f_mkfs. (FatFs)
|
---|
| 74 | Fixed f_mkfs on FAT32 creates incorrect FSInfo. (FatFs)
|
---|
| 75 | Fixed f_mkdir on FAT32 creates incorrect directory. (FatFs)
|
---|
| 76 |
|
---|
| 77 | Feb 03, 2008 R0.05a Added f_truncate().
|
---|
| 78 | Added f_utime().
|
---|
| 79 | Fixed off by one error at FAT sub-type determination.
|
---|
| 80 | Fixed btr in f_read() can be mistruncated.
|
---|
| 81 | Fixed cached sector is not flushed when create and close without write.
|
---|
| 82 |
|
---|
| 83 | Apr 01, 2008 R0.06 Added f_forward(). (Tiny-FatFs)
|
---|
| 84 | Added string functions: fputc(), fputs(), fprintf() and fgets().
|
---|
| 85 | Improved performance of f_lseek() on move to the same or following cluster.
|
---|
| 86 |
|
---|
| 87 | Apr 01, 2009, R0.07 Merged Tiny-FatFs as a buffer configuration option.
|
---|
| 88 | Added long file name support.
|
---|
| 89 | Added multiple code page support.
|
---|
| 90 | Added re-entrancy for multitask operation.
|
---|
| 91 | Added auto cluster size selection to f_mkfs().
|
---|
| 92 | Added rewind option to f_readdir().
|
---|
| 93 | Changed result code of critical errors.
|
---|
| 94 | Renamed string functions to avoid name collision.
|
---|
| 95 |
|
---|
| 96 | Apr 14, 2009, R0.07a Separated out OS dependent code on reentrant cfg.
|
---|
| 97 | Added multiple sector size support.
|
---|
| 98 |
|
---|
| 99 | Jun 21, 2009, R0.07c Fixed f_unlink() may return FR_OK on error.
|
---|
| 100 | Fixed wrong cache control in f_lseek().
|
---|
| 101 | Added relative path feature.
|
---|
| 102 | Added f_chdir().
|
---|
| 103 | Added f_chdrive().
|
---|
| 104 | Added proper case conversion for extended characters.
|
---|
| 105 |
|
---|
| 106 | Nov 03, 2009 R0.07e Separated out configuration options from ff.h to ffconf.h.
|
---|
| 107 | Added a configuration option, _LFN_UNICODE.
|
---|
| 108 | Fixed f_unlink() fails to remove a sub-dir on _FS_RPATH.
|
---|
| 109 | Fixed name matching error on the 13 char boundary.
|
---|
| 110 | Changed f_readdir() to return the SFN with always upper case on non-LFN cfg.
|
---|
| 111 |
|
---|
| 112 | May 15, 2010, R0.08 Added a memory configuration option. (_USE_LFN)
|
---|
| 113 | Added file lock feature. (_FS_SHARE)
|
---|
| 114 | Added fast seek feature. (_USE_FASTSEEK)
|
---|
| 115 | Changed some types on the API, XCHAR->TCHAR.
|
---|
| 116 | Changed fname member in the FILINFO structure on Unicode cfg.
|
---|
| 117 | String functions support UTF-8 encoding files on Unicode cfg.
|
---|
| 118 |
|
---|
| 119 | Aug 16,'10 R0.08a Added f_getcwd(). (_FS_RPATH = 2)
|
---|
| 120 | Added sector erase feature. (_USE_ERASE)
|
---|
| 121 | Moved file lock semaphore table from fs object to the bss.
|
---|
| 122 | Fixed a wrong directory entry is created on non-LFN cfg when the given name contains ';'.
|
---|
| 123 | Fixed f_mkfs() creates wrong FAT32 volume.
|
---|
| 124 |
|
---|
| 125 | Jan 15,'11 R0.08b Fast seek feature is also applied to f_read() and f_write().
|
---|
| 126 | f_lseek() reports required table size on creating CLMP.
|
---|
| 127 | Extended format syntax of f_printf function.
|
---|
| 128 | Ignores duplicated directory separators in given path names.
|
---|
| 129 |
|
---|
| 130 | Sep 06,'11 R0.09 f_mkfs() supports multiple partition to finish the multiple partition feature.
|
---|
| 131 | Added f_fdisk(). (_MULTI_PARTITION = 2)
|
---|
| 132 |
|
---|
| 133 | Aug 27,'12 R0.09a Fixed assertion failure due to OS/2 EA on FAT12/16.
|
---|
| 134 | Changed f_open() and f_opendir() reject null object pointer to avoid crash.
|
---|
| 135 | Changed option name _FS_SHARE to _FS_LOCK.
|
---|
| 136 |
|
---|
| 137 | Jan 23,'13 R0.09b Added f_getlabel() and f_setlabel(). (_USE_LABEL)
|
---|
| 138 |
|
---|
| 139 | Oct 02,'13 R0.10 Added selection of character encoding on the file. (_STRF_ENCODE)
|
---|
| 140 | Added f_closedir().
|
---|
| 141 | Added forced full FAT scan for f_getfree(). (_FS_NOFSINFO)
|
---|
| 142 | Added forced mount feature with changes of f_mount().
|
---|
| 143 | Improved behavior of volume auto detection.
|
---|
| 144 | Improved write throughput of f_puts() and f_printf().
|
---|
| 145 | Changed argument of f_chdrive(), f_mkfs(), disk_read() and disk_write().
|
---|
| 146 | Fixed f_write() can be truncated when the file size is close to 4GB.
|
---|
| 147 | Fixed f_open(), f_mkdir() and f_setlabel() can return incorrect error code.
|
---|
| 148 |
|
---|
| 149 | Jan 15,'14 R0.10a Added arbitrary strings as drive number in the path name. (_STR_VOLUME_ID)
|
---|
| 150 | Added a configuration option of minimum sector size. (_MIN_SS)
|
---|
| 151 | 2nd argument of f_rename() can have a drive number and it will be ignored.
|
---|
| 152 | Fixed f_mount() with forced mount fails when drive number is >= 1.
|
---|
| 153 | Fixed f_close() invalidates the file object without volume lock.
|
---|
| 154 | Fixed f_closedir() returns but the volume lock is left acquired.
|
---|
| 155 | Fixed creation of an entry with LFN fails on too many SFN collisions.
|
---|
| 156 |
|
---|
| 157 | Mar 19,'14 R0.10b Fixed a hard error in the disk I/O layer can collapse the directory entry.
|
---|
| 158 | Fixed LFN entry is not deleted on delete/rename an object with lossy converted SFN.
|
---|