ما را دنبال کنید !
Facebook Instagram

FatFS

FatFs – Generic FAT Filesystem Module


layerFatFs is a generic FAT/exFAT filesystem 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, RX and etc. Also Petit FatFs module for tiny microcontrollers is available here.

Features

  • DOS/Windows compatible FAT/exFAT filesystem.
  • Platform independent. Easy to port.
  • Very small footprint for program code and work area.
  • Various configuration options to support for:
    • Multiple volumes (physical drives and partitions).
    • Multiple code pages including DBCS.
    • Long file name in OEM code or Unicode.
    • exFAT filesystem.
    • Thread safe.
    • Fixed or variable sector size.
    • Read-only, optional API, I/O buffer and etc…

Application Interface

layerFatFs provides various filesystem functions for the applications as shown below.

  • File Access
  • Directory Access
  • File and Directory Management
    • f_stat – Check existance of a file or sub-directory
    • f_unlink – Remove a file or sub-directory
    • f_rename – Rename/Move a file or sub-directory
    • f_chmod – Change attribute of a file or sub-directory
    • f_utime – Change timestamp of a file or sub-directory
    • f_mkdir – Create a sub-directory
    • f_chdir – Change current directory
    • f_chdrive – Change current drive
    • f_getcwd – Retrieve the current directory and drive
  • Volume Management and System Configuration
    • f_mount – Register/Unregister the work area of the volume
    • f_mkfs – Create an FAT volume on the logical drive
    • f_fdisk – Create logical drives on the physical drive
    • f_getfree – Get total size and free size on the volume
    • f_getlabel – Get volume label
    • f_setlabel – Set volume label
    • f_setcp – Set active code page

Media Access Interface

layerSince the FatFs module is the filesystem layer independent of platforms and storage media, it is completely separated from the physical devices, such as memory card, harddisk and any type of storage device. The low level device control module is not a part of FatFs module and it needs to be provided by implementer. FatFs accesses the storage devices via a simple media access interface shown below. Also sample implementations for some platforms are available in the downloads. A function checker for low level disk I/O module is available here.

Resources

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.


Leave a Reply

Your email address will not be published.Required fields are marked *


Notice: ob_end_flush(): failed to send buffer of zlib output compression (1) in /home/puyaele1/public_html/wp-includes/functions.php on line 4757

Notice: ob_end_flush(): failed to send buffer of zlib output compression (1) in /home/puyaele1/public_html/wp-includes/functions.php on line 4757