2 releases
0.1.1 | Jan 17, 2025 |
---|---|
0.1.0 | Oct 17, 2024 |
#1129 in Filesystem
2,620 downloads per month
Used in 14 crates
(3 directly)
52KB
992 lines
littlefs2
What is this?
Idiomatic Rust API for the littlefs microcontroller filesystem by Chris Haster.
Number 2
refers to the on-disk format version, supporting inline files, custom attributes and dynamic wear-leveling.
We follow std::fs
as much as reasonable.
The low-level bindings are provided by the littlefs2-sys library.
The core types that are independent of a specific implementation version are provided by the littlefs2-core
crate, see the core
directory. These types are re-exported from the littlefs2
crate too.
Upstream release: v2.9.3
no_std
This library is no_std
compatible, but there are two gotchas.
-
The dev-dependency
memchr
oflittlefs2-sys
has itsstd
features activated. To prevent this, upgrade to at least Rust 1.51 and addresolver = "2"
in the consuming code's[package]
section. This will be the default in Rust 2021 edition. -
At link time,
lfs.c
has a dependency onstrcpy
. When not linking to alibc
with this symbol, activate thec-stubs
feature to provide an implementation.
License
littlefs is licensed under BSD-3-Clause.
This API for littlefs is licensed under either of Apache License, Version 2.0 or MIT License at your option.
Previous bindings exist in the rust-littlefs repository, also dual-licensed under Apache-2.0 and MIT.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~74–460KB
~10K SLoC