Bulk Storage and Filing Systems
Sming uses a class-based layered approach to bulk storage.
The Storage Management Component defines the Storage::Device
abstract class,
which devices such as Storage::spiFlash
implement to provide raw read/write/erase access.
Devices are partitioned into areas for specific uses which applications
access using a Storage::Partition
object.
The Disk Storage library provides support for block-access devices which use standard partitioning schemes (MBR, GPT). SD cards are supported via the SD Storage library. USB devices are supported via the USB library.
Sming uses an installable (virtual) filing system mechanism based on IFS::IFileSystem
.
This is managed by the Installable File System Component and contains the FWFS lightweight read-only filing system.
Additional filing system implementations are provided in separate libraries:
Note that when using bulk storage of more than about 4GB in size applications should be built with
ENABLE_STORAGE_SIZE64=1
. This changes all sizes and offsets to 64-bit.
If manipulating files greater than about 2GB (signed 32-bit value) then the ENABLE_FILE_SIZE64
setting should also be enabled.