All Projects → nickray → littlefs2

nickray / littlefs2

Licence: other
Idiomatic Rust API for littlefs

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to littlefs2

Rhai
Rhai - An embedded scripting language for Rust.
Stars: ✭ 958 (+4942.11%)
Mutual labels:  embedded, no-std
Littlefs
A little fail-safe filesystem designed for microcontrollers
Stars: ✭ 2,488 (+12994.74%)
Mutual labels:  embedded, filesystem
Wyhash Rs
wyhash fast portable non-cryptographic hashing algorithm and random number generator in Rust
Stars: ✭ 44 (+131.58%)
Mutual labels:  embedded, no-std
Drone Core
The core crate for Drone, an Embedded Operating System.
Stars: ✭ 263 (+1284.21%)
Mutual labels:  embedded, no-std
atat
no_std crate for parsing AT commands
Stars: ✭ 50 (+163.16%)
Mutual labels:  embedded, no-std
Drone
CLI utility for Drone, an Embedded Operating System.
Stars: ✭ 114 (+500%)
Mutual labels:  embedded, no-std
drone-cortexm
ARM® Cortex®-M platform crate for Drone, an Embedded Operating System.
Stars: ✭ 31 (+63.16%)
Mutual labels:  embedded, no-std
esp littlefs
LittleFS port for ESP-IDF
Stars: ✭ 143 (+652.63%)
Mutual labels:  filesystem, littlefs
fat32
[New Version] This is FAT32 FileSystem Library, which is #![no_std] and does not use alloc.
Stars: ✭ 25 (+31.58%)
Mutual labels:  embedded, filesystem
cassette
A simple, single-future, non-blocking executor intended for building state machines. Designed to be no-std and embedded friendly.
Stars: ✭ 47 (+147.37%)
Mutual labels:  embedded, no-std
pwm-pca9685-rs
Platform-agnostic Rust driver for the PCA9685 I2C 16-channel, 12-bit PWM/Servo/LED controller
Stars: ✭ 19 (+0%)
Mutual labels:  embedded, no-std
async-stm32f1xx
Abstractions for asynchronous programming on the STM32F1xx family of microcontrollers.
Stars: ✭ 24 (+26.32%)
Mutual labels:  embedded, no-std
gdbstub
An ergonomic and easy-to-integrate implementation of the GDB Remote Serial Protocol in Rust, with full no_std support.
Stars: ✭ 158 (+731.58%)
Mutual labels:  embedded, no-std
liar
Flexible, stand-alone benchmarking
Stars: ✭ 16 (-15.79%)
Mutual labels:  no-std
fs-changes
A persistent file system changes monitor, backed by leveldb
Stars: ✭ 12 (-36.84%)
Mutual labels:  filesystem
go-mtree
File systems verification utility and library, in likeness of mtree(8)
Stars: ✭ 55 (+189.47%)
Mutual labels:  filesystem
mikroe-uhb
USB HID Bootloader programming tool for devices manufactured by MikroElektronika
Stars: ✭ 15 (-21.05%)
Mutual labels:  embedded
FSMon
File system monitoring utility written in plain PHP
Stars: ✭ 12 (-36.84%)
Mutual labels:  filesystem
Zeus
🔭 A modern cross platform `ls` with powerful searching and querying capabilities to scale your productivity to the moon 🚀 (and yeah it has file explorer like capabilities too 🤫)
Stars: ✭ 75 (+294.74%)
Mutual labels:  filesystem
aeon
AEON is an In-place file system designed for non-volatile memories.
Stars: ✭ 13 (-31.58%)
Mutual labels:  filesystem

littlefs2

Idiomatic Rust API for littlefs

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.

Upstream release: v2.1.4

no_std

This library is no_std compatible, but there are two gotchas.

  • The dev-dependency memchr of littlefs2-sys has its std features activated. To prevent this, upgrade to at least Rust 1.51 and add resolver = "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 on strcpy. When not linking to a libc with this symbol, activate the c-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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].