File System

A complete file system software stack providing support for
a variety of media through a uniform, easy-to-use programming interface.
Allows for interoperability, fail-safety and high performance, all at once.

Return to the µC/OS Overview


Interoperable: µC/OS-FS implements the ubiquitous FAT12/16/32 file system allowing for unrivaled data sharing possibilities. Includes long file name support as well as UTF-8 character encoding.

Reliable: Micrium's journaling module guarantees that the file system internal state will remain consistent in the case of untimely power failures.

Low footprint: with a minimal requirement of one buffer, µC/OS-FS can run with as little as 1kB of available RAM.

Flash memory support: µC/OS-FS provides support for NOR and NAND flash memory through a highly configurable Flash Translation Layer (FTL). In addition to providing a uniform block device abstraction on top of heterogeneous flash technologies, the FTL optimizes flash memory lifetime thanks to its built-in wear leveling mechanisms.

Removable media support: Removable media support: µC/OS-FS provides support for SD cards, Multimedia Memory Cards (MMC) and MSC devices, including asynchronous insertion / removal notification to the application and stale files access protection.

Performance: µC/OS-FS offers high performance without sacrificing reliability. This is thanks to a sophisticated write-back caching mechanism that is journaling-compatible. Moreover, its advanced locking scheme ensures thread safety while allowing a high degree of concurrency.

Easy to use: µC/OS-FS offers unprecedented ease of use through both its native and POSIX compliant APIs.

Customizable: The memory footprint (both RAM and ROM) of μC/OS-FS can be adjusted at compile time based on the required features



Memory Footprint

ROM Minimal (block device only): 7kB
Typical: 65kB
RAM Minimal (bare-metal, file API and SD driver): 1kB
Typical: 5kB(bytes)

Key Specifications

Memory allocation Static and dynamic mode supported
File operations Read, write, truncate, rename, copy, query
POSIX compliant Yes
File buffers supported Yes
Supported file systems FAT12/16/32
Raw block device interface Yes
Concurrency Preemptive file read operations

Preemptive file write operations on different volumes

Fail safe Yes (with optional journaling module)
Write back caching Yes (can be used along with journaling)
Partition support Yes (DOS-style partitions)
Unicode support Yes
Storage media technology support NAND, NOR, SD (card mode + SPI), SCSI, RAM
Bare metal support Yes

Storage Device Support

SD/MMC SD, SDHC and SDXC cards, as well as MMC cards and e-MMC chips. Card mode and SPI implementations are available.
NAND SLC and MLC memories with a parallel bus. Both small page and large page devices are supported. Fast ECC (error correction codes) are provided for 1-bit correction per codeword using Hamming codes. Hardware ECC is supported (either on the memory device or as a CPU peripheral).
NOR Support for a wide variety of serial (both SPI and QuadSPI) and parallel NOR.
MSC All MSC compatible USB drives.


Licensing Packages That Meet Your Needs

Micrium embedded components are priced as individual modules or as bundled solutions. Check out our licensing page for more information.


Micrium's user documentation is available online on the Micrium documentation site.

Contact us today and start working with µC/OS