Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Integrate littlefs into mbed OS #5538
What is littlefs?
littlefs is a little fail-safe filesystem designed for embedded systems.
It comes with three key features:
How does it work?
I'm already pushing the limits of what is reasonable to shove into a PR, but I would encourage you to look into littlefs's DESIGN.md if you're interested.
How do we know it works?
The littlefs has quite a few stages of testing:
In total, the tests take roughly 45 minutes to run on a single device with a single type of storage device.
How do I start using littlefs?
Switching from the FAT filesystem to littlefs is a easy as changing the class name from
Here's a sed script:
sed -i 's/FATFileSystem/LittleFileSystem/g' $(find -regex '.*\.\(h\|c\|hpp\|cpp\)')
When should I use littlefs vs the FAT filesystem?
At this point, the only remaining benefit to using the FAT filesystem is when the user expects to be able to plug in the storage medium to a PC. There is littlefs-fuse, which is a start at supporting the ability to mount littlefs on PCs, but it is currently limited to Linux.
What else needs to be done?
The biggest task remaining is to make sure that CI is able to run with the incoming tests. I'll be working with @studavekar to make sure the CI is set up with correct hardware.
A lower priority task is to get the incoming filesystem tests working on the FAT filesystem as well. @deepikabhavnani has put a lot of work into this so it should just be an effort of migrating her PRs on mbed-littlefs.
Additionally, there are several small patches in various places that are required to get everything working:
Build number : 622
Build number : 249
Some work to be done to readme/links in readme that point at external repos that should be shut down and pointing at the release this is part of.
The logging using LFS rather than mbed highlights we still need to get that fixed. Please talk with @SenRamakri about what you've done here and make sure it can be replaced in a compatible way (for the stack implementation)
Can you please update? we will retrigger tests asap. Uvisor is currently being built, device failure should be fixed now
Build number : 631
Build number : 258