Johannes Löthberg f88844246d
Replace old BLOCK_SIZES with definitions of the blocks themselves (#971)
* Replace old BLOCK_SIZES with definitions of the blocks themselves

The actual block definitions only exist within Python classes so this
commit uses PyO3 to import the esptool.py eFuse block definitions and
generates arrays of the length and read address of each eFuse block.

We need the actual read address here rather than using the old offset
method because not all eFuse blocks are sequential.  (On ESP32 the block
0 read registers are followed by the block 0 write registers.)

* xtask: Move efuse generator behind a feature

This prevents Python being necessary to build the xtask binary for other
purposes.
2025-12-10 13:47:01 +00:00
2025-05-22 12:39:52 +00:00

espflash

GitHub Workflow Status Crates.io Matrix

Serial flasher utilities for Espressif devices, based loosely on esptool.py.

Supports the ESP32, ESP32-C2/C3/C5/C6, ESP32-H2, ESP32-P4, and ESP32-S2/S3.

cargo-espflash

A cargo extension for flashing Espressif devices.

For more information and installation instructions, please refer to the cargo-espflash package's README.

espflash

A library and command-line tool for flashing Espressif devices.

For more information and installation instructions, please refer to the espflash package's README.

Git Hooks

We provide a simple pre-commit hook to verify the formatting of each package prior to committing changes. This can be enabled by placing it in the .git/hooks/ directory:

$ cp pre-commit .git/hooks/pre-commit

When using this hook, you can choose to ignore its failure on a per-commit basis by committing with the --no-verify flag; however, you will need to be sure that all packages are formatted when submitting a pull request.

License

Licensed under either of:

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.

Description
Serial flasher utility for Espressif SoCs and modules based on esptool.py
Readme 32 MiB
Languages
Rust 99.9%