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.
Upstream release: v2.1.4
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.
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.