A FAT file system compatible with a wide range of storage devices. An optional journaling component provides fail-safe operation.
File System Features
- Interoperable: Support for the ubiquitous FAT12/16/32 file system, including long file names and UTF-8 character encoding
- Reliable: A journaling module to ensure data integrity even during power failures
- Small Footprint: Minimum RAM consumption of just 1 kByte
- Flash Memory Support: NOR and NAND Flash access via a highly configurable Flash Translation Layer (FTL) offering built-in wear leveling mechanisms and support for both software and hardware ECC (Error Correction Code)
- Removable Media Support: Drivers for SD cards, Multimedia Memory Cards (MMC) and MSC devices, with support for application notification of asynchronous insertion/removal notification, as well as stale file access protection
- Performance: A cache module for accelerating various file system operation
- Easy to Use: A choice of two (proprietary and POSIX) APIs
- Customizable: Scalable memory footprint
You can consult the File System Drivers page for more details about the drivers. For SPI drivers, you can consult the SPI Drivers page.
File System Specifications
- Memory allocation (static and dynamic mode supported)
- File operations (read, write, truncate, rename, copy, and query)
- POSIX compliant
- File buffers supported
- Supported file systems (FAT12/16/32)
- Raw block device interface
- Concurrency (preemptive file read operations; preemptive file write operations on different volumes)
- Fail safe (with optional journaling module)
- Write back caching (can be used along with journaling)
- Partition support (DOS-style partitions)
- Unicode support
- Storage media technology support (NAND, NOR, SD (card mode + SPI), SCSI, RAM)
- Bare metal support
- Shell support
- ROM Minimal (block device only): 7 kB Typical: 65 kB
- RAM Minimal (bare-metal, file API and SD driver): 1 kB Typical: 5 kB)
Memory Controller Drivers
- NOR serial Quad SPI
- SD card mode
Provided by other Micrium OS stacks
- NOR SPI: SPI drivers are provided by Micrium OS IO module
- SD SPI: SPI drivers are provided by Micrium OS IO module
- SCSI: USB host drivers are provided by Micrium OS USB Host stack
Storage Device Support
- NAND: Micrium's driver targets SLC and MLC memories with a parallel bus. Both small page and large page devices are supported. Software ECC (Error Correction Code) is provided for 1-bit correction per codeword using Hamming codes. Hardware ECC is supported on some Micron flash memory devices.
- NOR: Support is available for a wide variety of serial (both SPI and Quad SPI) and parallel NOR flash devices.
- SCSI: All MSC compatible USB drives are supported.
- SD/MMC: SD, SDHC and SDXC cards are supported, as are MMC cards and e-MMC chips. Card mode and SPI implementations are available.