FAT Library that normally used for developing small embedded system project
in nowadays are FATFs and EFSL.
The story for today is about FAT Library for ARM STM32 (Sorry for the person who want to use FAT Libray with AVR, I think articles relate to FAT Library with AVR is much more than STM32).
Let’s start with FATFs.FATFs support FAT32, Long File Name but you have to write Disk I/O mechanism by
yourself (Disk I/O is the part of Low level interface).There are two examples for FATFs that are ready to
1.Project by Martin Thomas.This project is a complete project to access FAT memory card with STM32 via SPI-
interface. And you can also download the code here.
2.FAT project from Domen Puncer.Domen had posted his answer to the STM32 Forum (Topic about SDcard code).You can view the original source forum that he posted his answer here.And you can also download the source code here.
Domen described that his code was separated into three parts as follow
- SPI Interface
- SD card code
- FATFs interface (It is the Disk I/O part for FATFs)
I’ve ever looked at his code and I think that his code is easy to understand than others.
For the person who use EFSL I have an example project that use EFSL from Newnesr.Newnesr also posted his project to the STM32 Forum too, and you can look for the original forum that he posted his article here.The source code for his post can download here.
You can arbitrarily choose the above two FAT Libraries.But I have one thing to tell you that EFSL is not
continue to update anymore and it is not support SDHC while FATFs is continuously developed for
improve its features and it has a test result with SDHC too. FATFs have a lite version that is sub-set of FATFs
call “Petit FAT”.You can use Petit FAT as a read only FAT File System only. For more information about it , visit here.