12 unstable releases (5 breaking)
| 0.6.1 | Mar 4, 2025 |
|---|---|
| 0.5.0 | Oct 25, 2024 |
| 0.4.0 | Feb 7, 2023 |
| 0.3.2 | Sep 26, 2021 |
| 0.1.0-alpha.0 | Dec 15, 2019 |
#160 in Embedded development
8,290 downloads per month
Used in 6 crates
(4 directly)
160KB
3K
SLoC
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
memchroflittlefs2-syshas itsstdfeatures 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.chas a dependency onstrcpy. When not linking to alibcwith this symbol, activate thec-stubsfeature 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
~2.5–5.5MB
~112K SLoC