/fmc

A minimal flash storage interface library and cache layer to manage flash storage with differential page and block sizes.

Primary LanguageC++MIT LicenseMIT

fmc

Flash Manager / Cache

CircleCI License: MIT

Introduction

A minimal flash storage interface library and cache layer to manage flash storage with differential page and block sizes.

For example, on the Raspberry Pi Pico, the onboard flash storage is 2Mb in size, arranged in blocks of 4096 bytes. Each of those blocks can be seen as 16 pages of 256 bytes each, which is more useful for a minimal file system.

Building

flash-manager-cache uses CMake so building is trivial:

mkdir build
cd build
cmake ..
make

You'll find the libfcm.a in the build/lib folder.

Testing

flash-manager-cache uses GoogleTest which is installed by CMake:

mkdir build
cd build
cmake ..
make
./fcm_test