-
-
Notifications
You must be signed in to change notification settings - Fork 345
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add LittleFS support #2304
Merged
Merged
Add LittleFS support #2304
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Update Basic_IFS sample, start after short delay to allow easier debugging.
Start after short delay to allow easier debugging Increase FWFS partition size
Add `strcpn` and `strcspn` implementations for old toolchain Update Basic_IFS sample
mikee47
force-pushed
the
feature/littlefs
branch
from
April 10, 2021 12:42
c4fa3bd
to
c27402b
Compare
mikee47
force-pushed
the
feature/littlefs
branch
from
April 10, 2021 12:45
c27402b
to
6448025
Compare
slaff
added
3 - Review
3.5 - Approved - Waiting for CI results
and removed
3 - Review
labels
Apr 10, 2021
…ample. Warning message printed in LittleFS.
@mikee47 are you ready with this PR? |
@slaff yes |
slaff
pushed a commit
that referenced
this pull request
Sep 27, 2021
This PR adds an IFS implementation for [LittleFS](https://github.com/littlefs-project/littlefs). The `Basic_IFS` sample has been updated to demonstrate use of littlefs volumes. Initial image files can be created using the `lfs-build` are defined using an FWFS build configuration file, which is then copied into the target littlefs image file using an `fscopy` tool. **TODO** These items are not critical to filesystem operation and can be added in future updates. The following two methods are not fully implemented - they require modifications to the littlefs library. ``` FileHandle IFileSystem::fopen(const Stat& stat, OpenFlags flags); int IFileSystem::fremove(FileHandle file); ``` Note: The `fopen()` call is an optimisation to avoid the need to re-parse the filesystem for a file which has already been discovered during a directory enumeration. The `Stat::id` field is intended to provide a way for the implementation to do this, but for littlefs it will probably need the filename as well. Also, there are a few internal optimisations which can be made to avoid the need to store filenames and paths separately.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds an IFS implementation for LittleFS.
The
Basic_IFS
sample has been updated to demonstrate use of littlefs volumes. Initial image files can be created using thelfs-build
are defined using an FWFS build configuration file, which is then copied into the target littlefs image file using anfscopy
tool.TODO
These items are not critical to filesystem operation and can be added in future updates.
The following two methods are not fully implemented - they require modifications to the littlefs library.
Note: The
fopen()
call is an optimisation to avoid the need to re-parse the filesystem for a file which has already been discovered during a directory enumeration. TheStat::id
field is intended to provide a way for the implementation to do this, but for littlefs it will probably need the filename as well. Also, there are a few internal optimisations which can be made to avoid the need to store filenames and paths separately.