|SHDesigns: Embedded Systems Design, Consulting and Developer Resources||Page hits:|
|SHDesigns FAT Library:||SHDesigns Embedded File System Library (SHD/EFS):|
|Feature List||SHD FAT||SHD/EFS||ZWorld FAT|
| Read Speed,
50k file, 512-byte reads
| Write Speed,
50k File, 512-byte writes
|File Names||up to 128 chars||64 char||8.3 only|
|Long File Name Support||Yes||Yes||No|
|Device Size||Up to 2 Gig||Up to 128 Gig||1 Gig?|
|PC-Compatible File system||Yes||No||No, non-standard partition table|
|Far data read/writes||No||Yes||Limited|
|Sample Root Code/const||2k||2k||17k|
|Sample Root Data||2.5k||4k||7.7k|
|Available Root space||43k||42k||19.3k|
|Sample program size||29K||35K||110K|
|ZServer/Http support||Via CGI function||No||Yes|
|Flush command||Yes||Yes||Requires Unmount of Partition|
|Corruption due to power loss.||Open Files Truncated|| Open Files
|May recover last write.
Often File System Corrupted.
|MMC/SD Card Support||Yes||Future||With DC Version 9.5 and later|
and SF1000 support
|Yes||Yes||SF1000 requires custom driver settings|
|Atmel DataFlash Support||Yes||Yes||Requires Lib change.|
|RAM Filesystem Support||Yes||No||No|
|Compact Flash / IDE Support||Yes (sample drivers.)||Yes||No|
|License Cost||$75.00||$75.00||$149.00 (Now Free in 9.5x and up)|
ZW HTTP server support:
The ZW HTTP code is hardcoded to their FAT library. It does not allow long file names. Adding support for either of SHDesigns file systems would be a major rewrite of their code. The FAT library includes a CGI script that allows files to be served from the file system.
File system Corruption:
All file systems were tested for corruption on a power loss. The ZW FAT corrupted the entire File system if the RAM was not battery-backed. Even with backup, loading a new program would somehow cause the partition to fail to mount.
The SHD/FAT Library would truncate files that were open for writing on a reset with files open.
The SHD/EFS library would truncate files that were open on write on a reset. SHD/EFS has no FAT table on disk. This data is rebuilt on reboot and is kept in RAM
SHDesigns has tested an MMC interface on an RCM3200. This has worked well. Testing was done on a KingMax 128MB card.
MMC/SD is the best option for removable storage. It has distinct advantages:
MMC/SD Read/write speeds (SHD/FAT):
|Read Speed||315 kB/sec||930 kB/sec|
|Write Speed||211.2 kB/sec||425 kB/sec|
Tests done with RCM3200, 512-byte reads and writes.
MMC/SD provides much faster data transfer than the Atmel serial flash. The SPI-200 adds additional hardware accelleration due to reduced code and higher bit clock. MMC is also removable and can be read on a PC. An easy way to transfer files between a PC and a Rabbit board.
Compact Flash / IDE support:
A sample library is included for CF/IDE. It was used for testing only. IDE is 16-bit only. External hardware is needed for 16-bit read/writes. IDE Speeds of 500kbytes/sec and higher have been achieved with the IDE interface. CF is just as fast for read.