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.
Interoperable: Cs/FS implements the ubiquitous FAT12/16/32 file system allowing for unrivaled data sharing possibilities. Includes long filename support as well as UTF-8 character encoding.
Reliable: Cs/FS' journaling module guarantees that the file system's internal state will remain consistent in the case of untimely power failures.
Low footprint: with a minimal requirement of one buffer, Cs/FS can run with as little as 1kB of available RAM.
Flash memory support: Cs/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: Cs/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: Cs/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: Cs/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
Minimal (block device only): 7 Kbytes
Typical: 65 Kbytes
Minimal (bare-metal, file API, and SD driver): 1 Kbytes
Typical: 5 Kbytes
|Static and dynamic mode supported
|Read, write, truncate, rename, copy, query
|File buffers supported
|Supported file systems
|Raw block device interface
Preemptive file read operations
Preemptive file write operations on different volumes
|Yes (with optional journaling module)
|Write back caching
|Yes (can be used along with journaling)
|Yes (DOS-style partitions)
|Storage media technology support
|NAND, NOR, SD (card mode + SPI), SCSI, RAM
|Bare metal support
Storage Device Support
|SD, SDHC, and SDXC cards, as well as MMC cards and e-MMC chips. Card mode and SPI implementations are available. SD Specification v2.00 or later supported.
|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).
|Support for a wide variety of serial SPI/QSPI and parallel NOR.
|All MSC compatible USB drives.