Prev: Sed1335 with LPC2294
Next: SD Card - boot sector
From: larwe on 8 Jan 2006 23:05 Google Groups is being recalcitrant these past couple of days, so I have no idea if the world will see this, but I've just released free C source to my embedded FAT filesystem. I've tested this code on a variety of platforms, including ARM, AVR and MSP430. I know there are several such filesystems in the world, but this one meets my particular requirements for functionality vs. footprint - it may be useful for someone else too. <http://www.zws.com/products/dosfs/> This code should be considered beta; I would appreciate feedback as to bugs. Here's the abstract: 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. 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
From: Markus Zingg on 9 Jan 2006 05:44 >Supports FAT12, FAT16 and FAT32 volumes >Supports storage devices up to 2048Gbytes in size (LBA32) Do you also support long filenames? Markus
From: Jonathan Kirwan on 9 Jan 2006 05:55 On Mon, 09 Jan 2006 11:44:03 +0100, Markus Zingg <m.zingg(a)nct.ch> wrote: >>Supports FAT12, FAT16 and FAT32 volumes >>Supports storage devices up to 2048Gbytes in size (LBA32) > >Do you also support long filenames? If you'd grabbed the README.TXT in the extremely small and easily gzip'd and tar'd distribution, you'd have read: VFAT long filenames are not supported. There is a certain amount of patent controversy about them, but more importantly they don't really belong in the scope of a "minimalist embedded filesystem". Somewhat limited (non-unicode) support, if my poor memory of the 16-bit FAT case is any guide, isn't that hard to add. Jon
From: Markus Zingg on 9 Jan 2006 06:23 >If you'd grabbed the README.TXT in the extremely small and easily >gzip'd and tar'd distribution, you'd have read: I implemented FAT12/16/32 quite similarly ~3 years ago and also left out long filename support for similar reasons. The library would have rised my interest if it were to support long filenames because I thought it would be tuff to implement this with the resources specified and also because I wondered how he would get away with the licensing issue. Btw, Microsoft made FAT32 (and particularlly long filename support) available under a license. From what I understood the license is afordable for small projects but still a license... The intention - again as I understood it - are to: a) make money from the big guys (cameras, USB devices etc.pp sold in masses) b) guarantee that long filename support is implemented propperly by leaving a door open for small/simple not mainstram business applications of it. Markus
From: larwe on 9 Jan 2006 06:34
Markus Zingg wrote: > Btw, Microsoft made FAT32 (and particularlly long filename support) > available under a license. From what I understood the license is > afordable for small projects but still a license... The intention - The patents on which that was based were invalidated by the USPTO. |