blob: 8c76d8230f4d9a35aec3cebe45f70d9e3c827240 [file] [log] [blame]
The FAT File System
Mynewt provides an implementation of the FAT filesystem which is
currently supported on MMC/SD cards.
File Allocation Table (FAT) is a computer file system architecture
and a family of industry-standard file systems utilizing it. The FAT
file system is a legacy file system which is simple and robust. It
offers good performance even in lightweight implementations, but
cannot deliver the same performance, reliability and scalability as
some modern file systems.
``fatfs`` configuration can be tweaked by editing
``fs/fatfs/include/fatfs/ffconf.h``. The current configuraton was chosen
to minimize memory use and some options address limitations existing in
the OS:
- Write support is enabled by default (can be disabled to minimize
memory use).
- Long filename (up to 255) support is disabled.
- When writing files, time/dates are not persisted due to current lack
of a standard ``hal_rtc`` interface.
- No unicode support. Vanilla config uses standard US codepage 437.
- Formatting of new volumes is disabled.
- Default number of volumes is configured to 1.
To include ``fatfs`` on a project just include it as a dependency in
your project:
- "@apache-mynewt-core/fs/fatfs"
It can now be used through the standard file system abstraction
functions as described in `FS API </os/modules/fs/fs/fs#API>`__.
An example of using ``fatfs`` on a MMC card is provided on the
`MMC </os/modules/drivers/mmc#Example>`__ documentation.