Introduction

A file system is a method and data structure that an OS uses to control how data is stored and retrieved. By separating the data into pieces and giving each piece a name, the data is easily isolated and identified. Taking its name from the way a paper-based data management system is named, each group of data is called a ‘file’.

File systems for embedded systems have additional requirements:

  1. Power-cut resilience - We need a guarantee that the data won’t become corrupted
  2. Wear-levelling - The system should make use of the entire storage device (i.e. it shouldn’t just read/write to a few blocks of memory)
  3. Tiny footprint - We’re constrained by ROM and RAM.

At the moment, our external memory will consist of a microSD card and FRAM (‣).


Examples

LittleFS

LittleFS is used by ACubeSat.

Description

From ACubeSat documentation: