zws.com logo

Book 3

My third book is released! Learn what you'll need to know in order to become an embedded engineer.


Book 2

Check out my second book; learn practical stuff about building robots and control systems around Linux PCs and the Atmel AVR.


Book 1

My first book gives you all the intro you need on developing 32-bit embedded systems on a hobbyist budget.


DOSFS Free FAT12/FAT16/FAT32 Filesystem

Current version: 1.03 (9/30/06 bugfix release; refer readme.txt in distribution archive).

DOSFS is a FAT-compatible filesystem intended for fairly low-end embedded applications. It is not the leanest possible implementation (the leanest FAT implementations operate in << 512 bytes of RAM, with heavy restrictions). This code strikes a good balance between size and functionality, with an emphasis on RAM footprint.

Intended target systems would be in the ballpark of 1K RAM, 4K ROM or more. The exact size of the binary will depend on your compiler and the runtime library you are using.

Features:

  • Supports FAT12, FAT16 and FAT32 volumes
  • Supports storage devices up to 2048Gbytes in size (LBA32)
  • Supports devices with or without MBRs (hard disks vs. floppy disks or ZIP drives formatted as "big floppies")
  • Supports multiple partitions on disks with MBRs
  • Supports subdirectories
  • Can be operated with a single global 512-byte sector buffer
  • Fully reentrant code (assuming the underlying physical device driver is reentrant and global sector buffers are not used). There are no global variables in the filesystem
  • Does not perform any memory allocation
  • Partial support for random-access files

Applications:

  • Firmware upgrades
  • Failsafe IPL
  • Media playback
  • Data logging
  • Configuration storage

Coming Soon:

  • Media formatting support.
  • Fast file I/O - assume files are contiguous, and don't touch the FAT. This will greatly improve performance on memory-constrained devices that can't cache FAT sectors during file I/O.

There is no technical support for this free product; however, if you have questions or suggestions, you are encouraged to contact Lewin Edwards. If you need custom additions to the code, or if you have other projects for which you need engineering assistance, I will be happy to quote you.

 Download the DOSFS distribution archive (.tgz format)


zws.com and all original content herein is © Copyright 2006 by Lewin A.R.W. Edwards. "zws.com" is a trademark protected under U.S. and international law. Infringement or attempted dilution of the intellectual property rights held by Lewin A.R.W. Edwards will be prosecuted to the fullest possible extent.