LittleFS
Mer info
- Skapad av
- Christopher Haster
- Ägare
- Arm (Mbed)
- År
- 2017
- Licens
- BSD-3-Clause
- Källkod
- github.com/littlefs-project
Ett litet filsystem för flash på mikrokontroller, byggt för att överleva att strömmen går mitt i en skrivning.
Skrevs på Arm för Mbed OS 2017, eftersom FAT på rå flash är ett dåligt äktenskap: en avbruten skrivning kan lämna allokeringstabellen trasig, och samma sektorer slits ut först. LittleFS lagrar metadata i par av block som skrivs växelvis och skriver data enligt copy-on-write — det gamla läget finns kvar tills det nya är helt på plats. Ett brown-out mitt i en fil ger därför den gamla filen, inte en halv.
Minnesbehovet är begränsat och känt i förväg, vilket är poängen på en enhet med 64 KB RAM. Dynamisk wear leveling ingår. Zephyr och ESP-IDF stödjer det, och Arduino-kärnan för ESP8266 bytte ut SPIFFS mot det.