µC/FS

μC/FS is a compact, reliable, high-performance file system for microprocessors, microcontrollers and DSPs. μC/FS is based on clean, consistent ANS C source code, with extensive comments describing most global variables and all functions. It supports the FAT file system for interoperability with all major operating systems. An optional journaling component provides fail-safe operation, while maintaining FAT compatibility.

The memory footprint of μC/FS can be adjusted at compile time based on required features and the desired level of run-time argument checking. For applications with limited RAM, features such as cache and read/write buffering can be disabled; for applications with sufficient RAM, enabling these features improves performance.

Device drivers are available for all common media types. Each of these is written with a layered structure so that it can easily be ported to your hardware. The device driver structure is simple--basically just initialization, read and write functions--so that a new driver can be developed easily for a new medium.

μC/FS can access multiple media simultaneously, including multiple instances of the same type of medium (since all drivers are re-entrant). In addition, a logical device driver is provided so that a single file system can span several (typically identical) devices, such as a bank of NAND flash chips.

Supported Processors Any Processor
ROM Footprint 10-50 kB
RAM Requirement 2 kB (minimum)
FAT Support

FAT12/16/32
Long file name (VFAT) can be enabled at compile time.
File names can be specified in Unicode (UTF-8)
Optional journaling capability

RTOS Not necessary; when μC/FS is used with an RTOS, a simple port guarantees thread-safe operation
Can be used with…

μC/USB Host Stack Mass Storage Class
μC/USB Device Stack Mass Storage Class
μC/FTPc, μC/FTPs or μC/HTTPS
μC/Shell (also μC/TELNETs)

Features

POSIX-compatible interface for file access (fopen , fread , etc.) and directory access (opendir , readdir )

  • Processor independent
  • Easily ported to new platforms
  • RAM and ROM requirements scalable
  • Full FAT support including FAT12/16/32 and long file names (VFAT)
  • Optional journaling component for failsafe FAT operation
  • Device format and partition creation

Capabilities

The primary file interface is the familiar POSIX interface, with the following equivalents of standard functions:

clearerr
closedir
fclose
feof
ferror
fflush
fgetpos
flockfile
fopen
fread
fseek
fsetpos
ftell
ftruncate
ftrylockfile
funlockfile
fwrite
 
s_mkdir
opendir
readdir
remove
rename
rewind
rmdir
setvbuf
 

Device/volume control functions allow direct access to the underlying medium. A device can be formatted, reformatted, or divided into multiple partitions, each of which may be formatted.

For pricing, delivery, and ordering information, contact Micrium today.