This project has moved! It can now be found in the esp-rs/esp-hal repository.
This implements embedded-storage
traits to access unencrypted ESP32 flash.
ESP32, ESP32-C2, ESP32-C3, ESP32-C6, ESP32-H2, ESP32-S2 and ESP32-S3 are supported in esp-storage
- ESP32:
- 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
- Run the example:
- ESP32-C2:
- Uncomment the ESP32-C2 section, under
target.riscv32imc-unknown-none-elf.dev-dependencies
of theCargo-toml
file. - 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
- Uncomment the ESP32-C2 section, under
- ESP32-C3:
- Uncomment the ESP32-C3 section, under
target.riscv32imc-unknown-none-elf.dev-dependencies
of theCargo-toml
file. - 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
- Uncomment the ESP32-C3 section, under
- ESP32-C6:
- Uncomment the ESP32-C6 section, under
target.riscv32imac-unknown-none-elf.dev-dependencies
of theCargo-toml
file. - 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
- Uncomment the ESP32-C6 section, under
- ESP32-H2:
- Uncomment the ESP32-H2 section, under
target.riscv32imac-unknown-none-elf.dev-dependencies
of theCargo-toml
file. - 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
- Uncomment the ESP32-H2 section, under
- ESP32-S2:
- 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
- Run the example:
- ESP32-S3:
- 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
- Run the example:
For ESP32 it is necessary to build with optimization level 2 or 3.
To make it work also for debug
builds add this to your Cargo.toml
[profile.dev.package.esp-storage]
opt-level = 3
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
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.