Cs FS
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.
Features
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
Specifications
Memory Footprint
Minimal (block device only): 7 Kbytes
Typical: 65 Kbytes
Minimal (bare-metal, file API, and SD driver): 1 Kbytes
Typical: 5 Kbytes
Key Specifications
Memory allocation
Static and dynamic mode supportedPreemptive file read operations
Preemptive file write operations on different volumes