FAT16-32 File System Driver for ATMEL AVR

This project is a FAT16/32 File System Driver for ATMEL AVR. This file system driver was written because our needs to read and write a hard drive using a microcontroller. We look at Internet but we don’t found a good code to do this, specifically in ATMEL AVR microcontroller series. The mostly codes found were written to mp3 players, and only read data (don’t write) from FAT file system and mix mp3 specific functions with printf functions. We found a few companies that have some FAT codes to microcontrollers but with expensive prices. So we decide to do our own code and share it to all community. It’s a real generic library. You can use this to do an mp3 player, or a data logger, or anything else your mind tells you. All the code was written following the Microsoft Specification in their document “Microsoft Extensible Firmware Initiative FAT32 File System Specification1” and there are some limitation because the nature of microcontrollers and their limitations about memory and speed. Use this code at your own risk. If you find any problems in this code, feel free to tell us. We reminder you that it’s distributed under the GNU Public License, so you can use and distribute it to anyone, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty.

Complete Documentation
Source Code