Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/esp-rs/esp-storage
implementation of embedded-storage traits to access unencrypted ESP32 flash
https://github.com/esp-rs/esp-storage
bare-metal esp32 rust
Last synced: 12 days ago
JSON representation
implementation of embedded-storage traits to access unencrypted ESP32 flash
- Host: GitHub
- URL: https://github.com/esp-rs/esp-storage
- Owner: esp-rs
- License: apache-2.0
- Archived: true
- Created: 2022-05-25T14:37:09.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-27T16:19:08.000Z (8 months ago)
- Last Synced: 2024-11-15T09:35:01.944Z (3 months ago)
- Topics: bare-metal, esp32, rust
- Language: Rust
- Homepage:
- Size: 55.7 KB
- Stars: 24
- Watchers: 7
- Forks: 4
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# esp-storage
---
## This project has moved! It can now be found in the [esp-rs/esp-hal](https://github.com/esp-rs/esp-hal/tree/main/esp-storage) repository.
---This implements [`embedded-storage`](https://github.com/rust-embedded-community/embedded-storage) traits to access unencrypted ESP32 flash.
## Current support
ESP32, ESP32-C2, ESP32-C3, ESP32-C6, ESP32-H2, ESP32-S2 and ESP32-S3 are supported in `esp-storage`
## Examples
- ESP32:
1. Run the example:
- `cargo +esp run --release --example demo --features esp32 --target xtensa-esp32-none-elf`
- `cargo +esp run --release --example low_level --features "esp32,low-level" --target xtensa-esp32-none-elf`
- ESP32-C2:
1. Uncomment the ESP32-C2 section, under `target.riscv32imc-unknown-none-elf.dev-dependencies` of the `Cargo-toml` file.
2. Run the example:
- `cargo "+nightly" run --example demo --features esp32c2 --target riscv32imc-unknown-none-elf`
- `cargo "+nightly" run --example low_level --features "esp32c2,low-level" --target riscv32imc-unknown-none-elf`
- ESP32-C3:
1. Uncomment the ESP32-C3 section, under `target.riscv32imc-unknown-none-elf.dev-dependencies` of the `Cargo-toml` file.
2. Run the example:
- `cargo "+nightly" run --example demo --features esp32c3 --target riscv32imc-unknown-none-elf`
- `cargo "+nightly" run --example low_level --features "esp32c3,low-level" --target riscv32imc-unknown-none-elf`
- ESP32-C6:
1. Uncomment the ESP32-C6 section, under `target.riscv32imac-unknown-none-elf.dev-dependencies` of the `Cargo-toml` file.
2. Run the example:
- `cargo "+nightly" run --example demo --features esp32c6 --target riscv32imac-unknown-none-elf`
- `cargo "+nightly" run --example low_level --features "esp32c6,low-level" --target riscv32imac-unknown-none-elf`
- ESP32-H2:
1. Uncomment the ESP32-H2 section, under `target.riscv32imac-unknown-none-elf.dev-dependencies` of the `Cargo-toml` file.
2. Run the example:
- `cargo "+nightly" run --example demo --features esp32h2 --target riscv32imac-unknown-none-elf`
- `cargo "+nightly" run --example low_level --features "esp32h2,low-level" --target riscv32imac-unknown-none-elf`
- ESP32-S2:
1. Run the example:
- `cargo "+esp" run --example demo --features esp32s2 --target xtensa-esp32s2-none-elf`
- `cargo +esp run --release --example low_level --features "esp32s2,low-level" --target xtensa-esp32s2-none-elf`
- ESP32-S3:
1. Run the example:
- `cargo "+esp" run --example demo --features esp32s3 --target xtensa-esp32s3-none-elf`
- `cargo +esp run --release --example low_level --features "esp32s3,low-level" --target xtensa-esp32s3-none-elf`## Important
For ESP32 it is necessary to build with [optimization level](https://doc.rust-lang.org/cargo/reference/profiles.html#opt-level) 2 or 3.
To make it work also for `debug` builds add this to your `Cargo.toml`
```toml
[profile.dev.package.esp-storage]
opt-level = 3
```## License
Licensed under either of
- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or
http://www.apache.org/licenses/LICENSE-2.0)
- MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)at your option.
### Contribution
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.