This page provides details related to the xilffs library.

  • The LibXil fat file system (FFS) library consists of a file system and a glue layer. This FAT file system can be used with an interface supported in the glue layer.
  • The file system code is open source and is used as it is. Glue layer implementation supports SD/eMMC interface presently.
  • Application should make use of APIs provided in ff.h. These file system APIs access the driver functions through the glue layer.

How to enable

xilffs library can be found at


- data - Provides the API and data structure details
- src - Driver source files which are further organised into
- examples - Contains example applications demonstrating the use of xilffs library

Library Parameters

  • read_only: Enables the file system in Read Only mode, if true. Default is false. Zynq® UltraScale+™ MPSoC fsbl sets this option as true.
  • use_lfn: Enables the long file name (LFN) support, if true. Default is false.
  • enable_multi_partition: Enables the multi partition support, if true. Default is false.
  • num_logical_vol: Number of volumes (logical drives, from 1 to 10) to be used. Default is 2.
  • use_mkfs: Enables the mkfs support, if true. Default is true. Zynq UltraScale+ MPSoC fsbl set this option as false.

File System

File System The file system supports FAT16 and FAT32. The APIs are standard file system APIs. A detailed description can be found at http://elm-chan.org/fsw/ff/00index_e.html
Revision R0.10b is used in the library

Test cases

Test case ran by taking examples from example folder specified above

SD Polled File System Example Test
Successfully ran SD Polled File System Example



  • Added support for mkfs.
  • Added support for multi partitions.
  • Added support for multiple logical drives.
  • Modified the example to add mkfs functionality.
  • Updated the copyright year to 2016.
  • Corrected the data type of temp variable.
  • Enable the _WORD_ACCESS option.
  • Used usleep API instead of MB_Sleep API.
  • Included sleep.h in diskio.c file


  • Removed enable_mmc option
  • Added support for FreeRTOS


  • Fixed Compilation warnings
  • Added configurable option for USE_STRFUNC


  • None


  • Added configurable option for _FS_RPATH
  • Updated for Word Access System support

Related Links