LittleFS Flash File System: Difference between revisions
Jump to navigation
Jump to search
Line 16: | Line 16: | ||
https://www.winbond.com/resource-files/w25q128fv%20rev.m%2005132016%20kms.pdf | https://www.winbond.com/resource-files/w25q128fv%20rev.m%2005132016%20kms.pdf | ||
The W25Q128FVSG uses 2.7V to 3.6V for operation. | The W25Q128FVSG uses 2.7V to 3.6V for operation. Here's a diagram for the the chip's pins and signals: | ||
The NUCLEO-F103RB powers the STM32F103RB with 3.3V. (The chip is capable of running with 2.0V to 3.6V.) | The NUCLEO-F103RB powers the STM32F103RB with 3.3V. (The chip is capable of running with 2.0V to 3.6V.) | ||
Revision as of 12:38, 10 October 2020
LittleFS Flash File System
I recently learned about a compact embedded Flash File System known as SpiFFS.
While researching SpiFFS, I soon learned of another compact embedded Flash File System, LittleFS.
LittleFS appears to be even more compact and has additional security in that it creates and maintains a CRC for each file, and verifies the CRC each time the file is read.
- Compact
- Power-loss resilience
- Dynamic wear leveling
- Bounded RAM/ROM
- Maintains revision count and CRC (security features)
Let's put this file system onto a STM32 board (I'm using a NUCLEO-F103RB), and check it out.
Cloned littleFS to my local machine. Using Winbond W25Q128FVSG SPI Flash module from Ebay: https://www.ebay.com/itm/264290947181 If the link doesn't work, just search Ebay for "W25Q128 Module". I bought two for $8.26 (free shipping). Downloaded the PDF for the W25Q128FVSG: https://www.winbond.com/resource-files/w25q128fv%20rev.m%2005132016%20kms.pdf
The W25Q128FVSG uses 2.7V to 3.6V for operation. Here's a diagram for the the chip's pins and signals:
The NUCLEO-F103RB powers the STM32F103RB with 3.3V. (The chip is capable of running with 2.0V to 3.6V.)
Let's look at this "W25Q128 Module", and the SPI interface needed for connection:
Reference Information:
https://uimeter.com/2018-04-12-Try-LittleFS-on-STM32-and-SPI-Flash/ https://github.com/ARMmbed/littlefs https://github.com/ARMmbed/littlefs/blob/master/README.md