Micrium

µC/FS Overview

Benefits

PC Windows Evaluation

Drivers

Performance and resource usage

Licensing

Pricing Information

FileSystem White paper

µC/FS is a file system for embedded applications which can be used on any media, for which you can provide basic hardware access functions. µC/FS is a high performance library that has been optimized for minimum memory consumption in RAM and ROM, high speed and versatility. It is written in ANSI C and can be used on any CPU.

Main Features

  • MS-DOS/MS-Windows compatible FAT12, FAT16 and FAT32 support (Subject to licensing).
    OR
  • Micrium proprietary EFS, a "FAT-free" Embedded File System.
  • An optional module that handles long file names of FAT media.
  • Multiple device driver support. You can use different device drivers with µC/FS, which allows you to access different types of hardware with the file system at the same time.
  • MultiMedia support. A device driver allows you to access different media at the same time.
  • OS support. µC/FS can be easily integrated into any OS. This allows using µC/FS in a multi-threaded environment.
  • ANSI C stdio.h-like API for user applications. An application using the standard C I/O library can easily be ported to use µC/FS.
  • Very simple device driver structure. µC/FS device drivers need only basic functions for reading and writing blocks. There is a template included.
  • An optional device driver for NAND flash devices, which can be easily used with any kind of NAND flashes.
  • An optional device driver for MultiMedia & SD cards using SPI mode or card mode that can be easily integrated.
  • An optional IDE driver, which is also suitable for CompactFlash using either .True IDE. or .Memory Mapped. mode.
  • An optional NOR flash (EEPROM) driver that handles different flash sector sizes.

Basic Concepts

API Layer

The API layer is the interface between µC/FS and the user application. It does contain a library of ANSI "C" oriented file functions, such as FS_fopen, FS_fwrite etc. The API layer does transfer these calls to the file system layer. Currently there are two FAT file system layers available for µC/FS, A Microsoft FAT compatible and a "FAT-free" Micrium proprietary file system layer.

File System Layer

This layer does translate file operations to logical block operations. After such a translation, it does call the logical block layer with the corresponding device driver for a device.

Logical Block Layer

Main purpose of the logical block layer is to synchronize accesses to a device driver and to have an easy interface for the file system layer. The logical block layer does call a device driver to make a block operation.

Device Driver

These are the low level routines to access your hardware. Structure of the device driver is simple to allow an easy integration of your own hardware. µC/FS has been designed to cooperate with any kind of hardware. To use specific hardware with µC/FS, a so-called device driver for that hardware is required. The device driver consists of basic I/O functions for accessing the hardware and a global table which holds pointers to these functions.