]> cloudbase.mooo.com Git - z180-stamp.git/blobdiff - fatfs/doc/00index_e.html
Import fatfs R0.12b
[z180-stamp.git] / fatfs / doc / 00index_e.html
index 9dc9d8e8ed3388606eba147b69c9782fb489a679..905b7b8f5bc1d69f66fce5024107101d25082a76 100644 (file)
 <hr>\r
 \r
 <div class="abst">\r
-<img src="img/layers.png" class="rset" width="245" height="255" alt="layer">\r
-<p>FatFs is a generic FAT file system module for small embedded systems. The FatFs module is written in compliance with ANSI C (C89) and completely separated from the disk I/O layer. Therefore it is independent of the platform. It can be incorporated into small microcontrollers with limited resource, such as 8051, PIC, AVR, ARM, Z80, 78K and etc. Also Petit FatFs module for tiny microcontrollers is available <a href="http://elm-chan.org/fsw/ff/00index_p.html">here</a>↗.</p>\r
+<img src="res/layers.png" class="rset" width="245" height="255" alt="layer">\r
+<p>FatFs is a generic FAT/exFAT file system module for small embedded systems. The FatFs module is written in compliance with ANSI C (C89) and completely separated from the disk I/O layer. Therefore it is independent of the platform. It can be incorporated into small microcontrollers with limited resource, such as 8051, PIC, AVR, ARM, Z80, 78K and etc. Also Petit FatFs module for tiny microcontrollers is available <a href="http://elm-chan.org/fsw/ff/00index_p.html">here</a>.</p>\r
 \r
 <h4>Features</h4>\r
 <ul>\r
- <li>Windows compatible FAT file system.</li>\r
+ <li>Windows compatible FAT/exFAT file system.</li>\r
  <li>Platform independent. Easy to port.</li>\r
- <li>Very small footprint for code and work area.</li>\r
- <li>Various configuration options:\r
+ <li>Very small footprint for program code and work area.</li>\r
+ <li>Various <a href="en/config.html">configuration options</a> to support for:\r
   <ul>\r
    <li>Multiple volumes (physical drives and partitions).</li>\r
    <li>Multiple ANSI/OEM code pages including DBCS.</li>\r
-   <li>Long file name support in ANSI/OEM or Unicode.</li>\r
-   <li>RTOS support for multi-task operation.</li>\r
-   <li>Multiple sector size support upto 4KB.</li>\r
-   <li>Read-only, minimized API, I/O buffer and etc...</li>\r
+   <li>Long file name in ANSI/OEM or Unicode.</li>\r
+   <li>exFAT file system.</li>\r
+   <li>RTOS envilonment.</li>\r
+   <li>Fixed or variable sector size.</li>\r
+   <li>Read-only, optional API, I/O buffer and etc...</li>\r
   </ul>\r
  </li>\r
 </ul>\r
 \r
 <div class="para">\r
 <h3>Application Interface</h3>\r
-<p>FatFs module provides following functions to the applications. In other words, this list describes what FatFs can do to access the FAT volumes.</p>\r
+<img src="res/layers1.png" class="rset" width="245" height="220" alt="layer">\r
 <ul>\r
- <li><a href="en/mount.html">f_mount</a> - Register/Unregister a work area</li>\r
- <li><a href="en/open.html">f_open</a> - Open/Create a file</li>\r
- <li><a href="en/close.html">f_close</a> - Close an open file</li>\r
- <li><a href="en/read.html">f_read</a> - Read file</li>\r
- <li><a href="en/write.html">f_write</a> - Write file</li>\r
- <li><a href="en/lseek.html">f_lseek</a> - Move read/write pointer, Expand file size</li>\r
- <li><a href="en/truncate.html">f_truncate</a> - Truncate file size</li>\r
- <li><a href="en/sync.html">f_sync</a> - Flush cached data</li>\r
- <li><a href="en/forward.html">f_forward</a> - Forward file data to the stream</li>\r
- <li><a href="en/stat.html">f_stat</a> - Check existance of a file or sub-directory</li>\r
- <li><a href="en/opendir.html">f_opendir</a> - Open a directory</li>\r
- <li><a href="en/closedir.html">f_closedir</a> - Close an open directory</li>\r
- <li><a href="en/readdir.html">f_readdir</a> - Read a directory item</li>\r
- <li><a href="en/mkdir.html">f_mkdir</a> - Create a sub-directory</li>\r
- <li><a href="en/unlink.html">f_unlink</a> - Remove a file or sub-directory</li>\r
- <li><a href="en/chmod.html">f_chmod</a> - Change attribute</li>\r
- <li><a href="en/utime.html">f_utime</a> - Change timestamp</li>\r
- <li><a href="en/rename.html">f_rename</a> - Rename/Move a file or sub-directory</li>\r
- <li><a href="en/chdir.html">f_chdir</a> - Change current directory</li>\r
- <li><a href="en/chdrive.html">f_chdrive</a> - Change current drive</li>\r
- <li><a href="en/getcwd.html">f_getcwd</a> - Retrieve the current directory</li>\r
- <li><a href="en/getfree.html">f_getfree</a> - Get free space on the volume</li>\r
- <li><a href="en/getlabel.html">f_getlabel</a> - Get volume label</li>\r
- <li><a href="en/setlabel.html">f_setlabel</a> - Set volume label</li>\r
- <li><a href="en/mkfs.html">f_mkfs</a> - Create a file system on the drive</li>\r
- <li><a href="en/fdisk.html">f_fdisk</a> - Divide a physical drive</li>\r
- <li><a href="en/gets.html">f_gets</a> - Read a string</li>\r
- <li><a href="en/putc.html">f_putc</a> - Write a character</li>\r
- <li><a href="en/puts.html">f_puts</a> - Write a string</li>\r
- <li><a href="en/printf.html">f_printf</a> - Write a formatted string</li>\r
- <li><a href="en/tell.html">f_tell</a> - Get current read/write pointer</li>\r
- <li><a href="en/eof.html">f_eof</a> - Test for end-of-file on a file</li>\r
- <li><a href="en/size.html">f_size</a> - Get size of a file</li>\r
- <li><a href="en/error.html">f_error</a> - Test for an error on a file</li>\r
+ <li>File Access\r
+ <ul>\r
+  <li><a href="en/open.html">f_open</a> - Open/Create a file</li>\r
+  <li><a href="en/close.html">f_close</a> - Close an open file</li>\r
+  <li><a href="en/read.html">f_read</a> - Read data</li>\r
+  <li><a href="en/write.html">f_write</a> - Write data</li>\r
+  <li><a href="en/lseek.html">f_lseek</a> - Move read/write pointer, Expand size</li>\r
+  <li><a href="en/truncate.html">f_truncate</a> - Truncate size</li>\r
+  <li><a href="en/sync.html">f_sync</a> - Flush cached data</li>\r
+  <li><a href="en/forward.html">f_forward</a> - Forward data to the stream</li>\r
+  <li><a href="en/expand.html">f_expand</a> - Allocate a contiguous block to the file</li>\r
+  <li><a href="en/gets.html">f_gets</a> - Read a string</li>\r
+  <li><a href="en/putc.html">f_putc</a> - Write a character</li>\r
+  <li><a href="en/puts.html">f_puts</a> - Write a string</li>\r
+  <li><a href="en/printf.html">f_printf</a> - Write a formatted string</li>\r
+  <li><a href="en/tell.html">f_tell</a> - Get current read/write pointer</li>\r
+  <li><a href="en/eof.html">f_eof</a> - Test for end-of-file</li>\r
+  <li><a href="en/size.html">f_size</a> - Get size</li>\r
+  <li><a href="en/error.html">f_error</a> - Test for an error</li>\r
+ </ul>\r
+ </li>\r
+ <li>Directory Access\r
+ <ul>\r
+  <li><a href="en/opendir.html">f_opendir</a> - Open a directory</li>\r
+  <li><a href="en/closedir.html">f_closedir</a> - Close an open directory</li>\r
+  <li><a href="en/readdir.html">f_readdir</a> - Read an directory item</li>\r
+  <li><a href="en/findfirst.html">f_findfirst</a> - Open a directory and read first item matched</li>\r
+  <li><a href="en/findnext.html">f_findnext</a> - Read a next item matched</li>\r
+ </ul>\r
+ </li>\r
+ <li>File/Directory Management\r
+ <ul>\r
+  <li><a href="en/stat.html">f_stat</a> - Check existance of a file or sub-directory</li>\r
+  <li><a href="en/unlink.html">f_unlink</a> - Remove a file or sub-directory</li>\r
+  <li><a href="en/rename.html">f_rename</a> - Rename or move a file or sub-directory</li>\r
+  <li><a href="en/chmod.html">f_chmod</a> - Change attribute of a file or sub-directory</li>\r
+  <li><a href="en/utime.html">f_utime</a> - Change timestamp of a file or sub-directory</li>\r
+  <li><a href="en/mkdir.html">f_mkdir</a> - Create a sub-directory</li>\r
+  <li><a href="en/chdir.html">f_chdir</a> - Change current directory</li>\r
+  <li><a href="en/chdrive.html">f_chdrive</a> - Change current drive</li>\r
+  <li><a href="en/getcwd.html">f_getcwd</a> - Retrieve the current directory and drive</li>\r
+ </ul>\r
+ </li>\r
+ <li>Volume Management\r
+ <ul>\r
+  <li><a href="en/mount.html">f_mount</a> - Register/Unregister a work area of a volume</li>\r
+  <li><a href="en/mkfs.html">f_mkfs</a> - Create an FAT volume on the logical drive</li>\r
+  <li><a href="en/fdisk.html">f_fdisk</a> - Create logical drives on the physical drive</li>\r
+  <li><a href="en/getfree.html">f_getfree</a> - Get total size and free size on the volume</li>\r
+  <li><a href="en/getlabel.html">f_getlabel</a> - Get volume label</li>\r
+  <li><a href="en/setlabel.html">f_setlabel</a> - Set volume label</li>\r
+ </ul>\r
+ </li>\r
 </ul>\r
 </div>\r
 \r
 \r
 <div class="para">\r
 <h3>Device Control Interface</h3>\r
-<p>Since the FatFs module is a file system layer, it is completely separated from physical devices, such as memory card, harddisk and any type of storage devices. FatFs accesses the storage device via a simple interface described below. The low level device control module is not a part of FatFs module. It is provided by implementer. Also sample implementations for some platforms are available in the downloads.</p>\r
+<img src="res/layers2.png" class="rset" width="245" height="220" alt="layer">\r
+<p>Since the FatFs module is a file system layer, it is completely separated from the physical devices, such as memory card, harddisk and any type of storage device. FatFs accesses the storage devices via a simple interface shown below. The low level device control module is <em>not a part of FatFs module</em>. It is provided by implementer. Also sample implementations for some platforms are available in the downloads.</p>\r
 <ul>\r
  <li><a href="en/dstat.html">disk_status</a> - Get device status</li>\r
  <li><a href="en/dinit.html">disk_initialize</a> - Initialize device</li>\r
  <li><a href="en/dread.html">disk_read</a> - Read sector(s)</li>\r
  <li><a href="en/dwrite.html">disk_write</a> - Write sector(s)</li>\r
- <li><a href="en/dioctl.html">disk_ioctl</a> - Control device dependent features</li>\r
+ <li><a href="en/dioctl.html">disk_ioctl</a> - Control device dependent functions</li>\r
  <li><a href="en/fattime.html">get_fattime</a> - Get current time</li>\r
 </ul>\r
 </div>\r
 <h3>Resources</h3>\r
 <p>The FatFs module is a free software opened for education, research and development. You can use, modify and/or redistribute it for personal projects or commercial products without any restriction under your responsibility. For further information, refer to the application note.</p>\r
 <ul>\r
- <li><a href="http://elm-chan.org/fsw/ff/00index_e.html"><em>FatFs Home Page</em></a>↗</li>\r
- <li><a href="http://elm-chan.org/fsw/ff/bd/"><em>FatFs User Forum</em></a>↗</li>\r
- <li>Read first: <a href="en/appnote.html">FatFs module application note</a></li>\r
+ <li>Read first: <a href="en/appnote.html">FatFs module application note</a> <span class="mfd">July 10, 2016</span></li>\r
+ <li>Community: <a href="http://elm-chan.org/fsw/ff/bd/">FatFs User Forum</a></li>\r
+ <li><a href="https://msdn.microsoft.com/en-us/windows/hardware/gg463080.aspx">FAT32 Specification by Microsoft</a>↗ (The authorized document on FAT file system)</li>\r
+ <li><a href="http://elm-chan.org/docs/fat.html">The basics of FAT file system [ja]</a></li>\r
+ <li><a href="http://elm-chan.org/docs/mmc/mmc_e.html">How to Use MMC/SDC</a></li>\r
+ <li><a href="http://elm-chan.org/junk/fa/faff.html">Playing with FlashAir and FatFs</a></li>\r
  <li><a href="http://stm32f4-discovery.com/2014/07/library-21-read-sd-card-fatfs-stm32f4xx-devices/">Read SD card with FatFs on STM32F4xx devices by Tilen Majerle</a>↗ (Quick and easy implementation for STM32F4-Discovery)</li>\r
- <li><a href="http://nemuisan.blog.bai.ne.jp/">Nemuisan's Blog</a>↗ (Well written implementations for STM32F/SDIO and LPC2300/MCI)</li>\r
+ <li><a href="http://nemuisan.blog.bai.ne.jp/">Nemuisan's Blog</a>↗ (Well written implementations for STM32F/SPI &amp; SDIO and LPC4088/SDMMC)</li>\r
  <li><a href="http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/arm_memcards/index.html">ARM-Projects by Martin THOMAS</a>↗ (Examples for LPC2000, AT91SAM and STM32)</li>\r
- <li><a href="http://www.microsoft.com/whdc/system/platform/firmware/fatgen.mspx">FAT32 Specification by Microsoft</a>↗ (The authorized document on FAT file system)</li>\r
- <li><a href="http://elm-chan.org/docs/fat.html">The basics of FAT file system [ja]</a>↗</li>\r
- <li><a href="http://elm-chan.org/docs/mmc/mmc_e.html">How to Use MMC/SDC</a>↗</li>\r
- <li><a href="img/rwtest.png">Benchmark 1</a> (ATmega64/9.2MHz with MMC via SPI, HDD/CFC via GPIO)</li>\r
- <li><a href="img/rwtest2.png">Benchmark 2</a> (LPC2368/72MHz with MMC via MCI)</li>\r
-</ul>\r
+ <li><a href="res/rwtest1.png">Benchmark 1</a> (ATmega1284/20MHz with MMC via USART in SPI, CFC via GPIO)</li>\r
+ <li><a href="res/rwtest2.png">Benchmark 2</a> (LPC2368/72MHz with MMC via MCI)</li>\r
 </div>\r
 \r
 \r
 <hr>\r
-<p class="foot"><a href="../../fsw_e.html">Return</a></p>\r
+<p class="foot"><a href="http://elm-chan.org/fsw/ff/00index_e.html">FatFs home page</a></p>\r
 </body>\r
 </html>\r