827 Commits

Author SHA1 Message Date
Sergio Gasquez Arcos
c44423d802
Udpate C5 HIL app (#1006)
* feat: Udpate C5 HIL app

* docs: Document c5 test elf

* fix: Clippy lints
2026-03-06 10:24:07 +00:00
Dániel Buga
81bdf6a950
Read xtal freq directly from PCR (#1005) 2026-02-11 08:38:37 +00:00
Sergio Gasquez Arcos
184b40996e
Add SDM HIL (#1002)
* ci: Test SDM workflow

* docs: Add a note about sdm hil

* feat: Limit SDM tests

* feat: Enable sdm tests

* feat: Remove bootloader protection and unify save-image/write-bin test

* fix: Remove extra try_wait

* docs: Update changelog
2026-02-06 14:03:28 +00:00
Sergio Gasquez Arcos
9df79cd67c
fix: Move issue templates folder (#1003) 2026-02-05 11:57:23 +00:00
Matthias Baer
37ebf3af42
Windows: try to fix connection issue (#999)
* Use the same reset strategy as esptool

* Add workaround similar to esptool

* Add changelog entry
2026-02-04 09:30:13 +00:00
Sergio Gasquez Arcos
37f22b56f5
tests: Reorder tests (#1001) 2026-02-02 15:59:30 +00:00
Sergio Gasquez Arcos
7958eae1fd
feat: Add bug jury label to issue templates (#997) 2026-02-02 12:29:37 +00:00
Carter Peterson
4b0cb41e51
Support flashing in Secure Download Mode (#990)
* With secure download enabled, the stub is not utilized so
compressed flashing is unavailble. In this situation, use the
uncompressed flashing commands.

* If secure download is enabled, prevent flashing data to addresses
below 0x8000 to prevent overwriting the bootloader and bricking the
device
2026-02-02 11:52:52 +00:00
Sergio Gasquez Arcos
15ecc03b8e
Use esp-hal runners for HIL (#996)
* ci: Test esp-hal runners for c6

* ci: Test esp32s2

* ci: Remove unused code

* ci: Enable all the targets

* feat: Add C5 and P4 HIL

* feat: Add udev rules with symlink

* ci: Run tests on multiple ports

* ci: Unfold matrix to have better logging

* ci: Enable S2

* feat: Use port aliases

* feat: Add c5 elf file

* ci: Enable P4

* feat: Avoid code duplication

* ci: Remove p4 uart

* feat: Update p4 bootloader
2026-01-29 13:16:01 +00:00
Michael Wilson
5419c6c7ba
Support INIT_ARRAY and sha256 calculation. (#991)
* Support INIT_ARRAY and sha256 calculation.

INIT_ARRAY is now supported as well as sha256 calculation. This is done
to match parity with esptool. The INIT_ARRAY bit is needed for esp32p4
support, as the result of the flash is corrupted with the INIT_ARRAY
section appearing elsewhere in the generated binary otherwise.

* Remove overcomplicating elf_data backup.

* Update CHANGELOG.md

---------

Co-authored-by: Dániel Buga <bugadani@gmail.com>
2026-01-08 14:44:43 +00:00
Michael Wilson
d3b59e9251
Add esp32p4 stub for revisions < 3.0. (#992)
* Add esp32p4 stub for revisions < 3.0.

* Deprecate get, make get_with_rev, correct defaulting logic.

* docs: Update CHANGELOG.md

---------

Co-authored-by: Sergio Gasquez Arcos <sergio.gasquez@gmail.com>
2026-01-07 14:27:50 +00:00
Johannes Löthberg
99d6d690b3
eFuse write support (#962)
* Extend eFuse generator with support for write address and eFuse error definitions

* efuse: Implement write support
2025-12-17 09:35:56 +00:00
Sergio Gasquez Arcos
fb4fd55b9f
build: Bump cargo-espflash (#985) v4.3.0 2025-12-15 14:17:24 +00:00
Sergio Gasquez Arcos
117be8448c
Prepare v4.3.0 release (#984)
* fix: Clippy lints

* build: Bump versions

* docs: Update changelog

* fix: Use expect unused_assignments

Co-authored-by: Scott Mabin <scott@mabez.dev>

---------

Co-authored-by: Scott Mabin <scott@mabez.dev>
2025-12-15 10:58:54 +00:00
Sergio Gasquez Arcos
5b74a2e930
Update stubs (#983)
* feat: Update stubs

* docs: Udpate changelog
2025-12-11 09:24:12 +00:00
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
DaneSlattery
ba2f16d7d0
Change long form of save-image --ignore-app-descriptor (#974)
* Change long form of save-image --ignore-app-descriptor

* fix fmt

* Update changelog

* support alias

* format

---------

Co-authored-by: Dane Slattery <dane@polarmonitoring.com>
2025-12-09 09:23:10 +00:00
Björn Quentin
1efe57a93b
Suppress resolving addresses for 1st stage bootloader output (#979)
* Suppress resolving addresses for 1st stage bootloader output

* PR number

* Update espflash/src/cli/monitor/mod.rs

Co-authored-by: Sergio Gasquez Arcos <sergio.gasquez@gmail.com>

* Add `\r\n` to avoid weird formatting of output

* Fix log output

---------

Co-authored-by: Sergio Gasquez Arcos <sergio.gasquez@gmail.com>
2025-12-01 12:39:19 +00:00
Björn Quentin
70bea62374
Improve app-descriptor detection (#975)
* Improve app-descriptor detection

* CHANGELOG.md

* Support esp-hal app with `strip=true`

* Clarify

* Fix rebase
2025-11-27 13:40:16 +00:00
Sergio Gasquez Arcos
2baf269eb5
Update bootloaders to release/v5.5 (#976)
* feat: Update bootloaders to release/v5.5 (rev d66ebb8)

* docs: Update changelog

* docs: Update flash size documentation
2025-11-27 13:37:39 +00:00
Björn Quentin
845e386c2c
Fix read efuse (#969)
* Fix and deprecate `read_efuse`, add `read_efuse_le`

* Fix efuse definition gen, regen efuse data

* Don't use deprecated API ourselves

* Un-annoy

* Remove unused casts

* Changelog entries

* CHANGELOG.md

* address review comments

* Fix rebase

* fix
2025-11-26 13:16:59 +00:00
Dániel Buga
b01bb7131c
Fix SDM detection for P4 (#972) 2025-11-21 08:42:18 +00:00
Björn Quentin
23222d5918
Allow specifying a rom-elf (#963)
* Allow specifying a `rom-elf`

* Clippy

* CHANGELOG.md

* Clippy

* Have and use built-in ROM-elfs
2025-11-18 14:00:08 +00:00
Johannes Löthberg
ed5dc97b63
efuse: Correct block0 offset definitions for ESP32-C2, -C3, and -S3 (#961)
According to both the technical reference manuals and to the esptool
definitions these are all at 0x02C.
2025-11-10 09:36:35 +00:00
Sergio Gasquez Arcos
d1e1fffd3f
bump: Update cargo-espflash (#959) v4.2.0 2025-10-13 12:37:19 +00:00
Sergio Gasquez Arcos
89f9c82884
Prepare 4.2.0 release (#958)
* build: Bump deps versions

* fix: Clippy warnings

* docs: Update changelog
2025-10-13 11:21:12 +00:00
Sergio Gasquez Arcos
a02d2b1b13
ci: Update gha macos runners (#956) 2025-10-06 10:05:32 +00:00
Björn Quentin
40adcd84fc
A minimal stack-dump decoder (RV) (#955)
* A minimal stack-dump decoder (RV)

* CHANGELOG

* docs: Update CHANGELOG.md

---------

Co-authored-by: Sergio Gasquez Arcos <sergio.gasquez@gmail.com>
2025-10-01 10:05:56 +00:00
Sergio Gasquez Arcos
f8a344f58c
Use security info to detect chip (#953)
* feat: Move security_info to Connection struct and use it for chip detection

* feat: Move SecurityInfo to connection module

* fix: Update log level

* revert: Moving SecurityInfo to connectionç

* feat: Move SecurityInfo to connection module

* docs: Update changelog

* fix: Esp32 tests

* test: Increase timeout and add log message
2025-09-23 09:25:59 +00:00
nullstalgia
ed1053cebc
Fix unwraps in connection module when probing a loopback port (#954)
* Fix unwraps in connection module when probing a loopback port

* Changelog

* Fix rustfmt check fail
2025-09-23 07:30:15 +00:00
Sergio Gasquez Arcos
84cd43c80c
Prepare release 4.1.0 (#952)
* build: Bump espflash and cargo-espflash versions

* docs: Update changelog
v4.1.0
2025-09-18 09:00:37 +00:00
CameronCTS
e320ae7cc7
Add magic value for esp32c5 (#940)
* * Add magic value for esp32c5

* * Add more magic values for esp32-c5
2025-09-18 08:24:15 +00:00
Be
e481afb6ca
move padding to 4 bytes from CLI into library (#951)
Downstream applications needed to duplicate the padding to 4 bytes
logic that the CLI application does (although that requirement was
not documented). Otherwise flashing could fail with a RomError with
error code 0.
2025-09-18 07:39:23 +00:00
Sergio Gasquez Arcos
ee7d8352c9
Fix esp32s2 spi register base address (#950)
* fix: S2 spi reg base address

* docs: Update changelog
2025-09-17 13:26:11 +00:00
Sergio Gasquez Arcos
6dc2b9a6a7
build: Update deps (#948) 2025-09-16 13:54:33 +00:00
Sergio Gasquez Arcos
ac5fc82837
[MacOS]: Fix hanging terminal (#947)
* fix: Monitor hang for macos

* docs: Update changelog
2025-09-16 13:19:11 +00:00
Sergio Gasquez Arcos
23c7419585
feat: Update addr2line (#946) 2025-09-16 06:31:52 +00:00
Dániel Buga
1e346514ff
Force timeout stuck flushes (#944) 2025-09-15 10:54:25 +00:00
Sergio Gasquez Arcos
27264781bc
Add no_addresses monitor flag (#942)
* feat: Add `no_addresses`  monitor flag

* docs: Add changelog
2025-09-15 07:44:57 +00:00
Dániel Buga
b2ee154277
[windows] Don't crash during typing when the MCU isn't listening (#943)
* Don't crash during typing when the MCU isn't listening

* Update CHANGELOG.md

Co-authored-by: Sergio Gasquez Arcos <sergio.gasquez@gmail.com>

---------

Co-authored-by: Sergio Gasquez Arcos <sergio.gasquez@gmail.com>
2025-09-12 10:45:19 +00:00
Juraj Sadel
1daf446a0a
Fix using cli::IdfFormatArgs in espflash.toml (#931) 2025-08-07 07:45:59 +00:00
Dániel Buga
b3f5b28bf7
CLI: invert check_app_descriptor (#932)
* CLI: invert check_app_descriptor

* Changelog
2025-08-07 07:44:51 +00:00
Juraj Sadel
b993a42fe4
Add xtask command for running HIL tests (#912)
* feat: Initial test

* feat: Initial HIL tests in xtask

* refactor: End test if possible before timeout

* rebase

* Add checking for output from monitor

* CI: use xtask command instead of bash scripts

* clippy

* help find cargo

* Try increase duration for failing test

* remove bash tests

* reviews

* simplify

* Add a local_espflash flag to allow running espflash without re-building (CI) and re-building (locally)

* reviews

---------

Co-authored-by: Sergio Gasquez <sergio.gasquez@gmail.com>
2025-07-08 08:30:43 +00:00
Sergio Gasquez Arcos
f679e03a8e
feat: Prepare 4.0.1 release (#925) v4.0.1 2025-07-07 14:28:34 +00:00
Dániel Buga
531bb82ab4
Remove patch version from dependency specs (#924)
* Remove patch version from dependency specs

* cargo update

* Changelog

* Restore libc
2025-07-07 09:59:32 +00:00
Sergio Gasquez Arcos
63c3ad4e37
Improve missing app-desc errors (#921)
* feat: Improve missing app-desc errors

* feat: Use old error
2025-07-04 12:38:58 +00:00
Sergio Gasquez Arcos
c8913842a4
Add app descriptor check to save image (#920)
* feat: Add check_idf_bootloader to save_image

* chore: Rename check_idf_bootloader to check_app_descriptor

* docs: Update changelog

* revert: check_idf_bootloader name change
2025-07-02 08:46:24 +00:00
Jesse Braham
12a177a612
Version 4.0.0 (#916) v4.0.0 2025-07-01 13:22:40 +00:00
Scott Mabin
5360e78c60
fix SPI detection on s3 by using the right base address (#917) 2025-07-01 11:08:09 +00:00
Jesse Braham
c35728a790
Apply relevant Rust API guidelines (#915)
* Derive more traits on public types in `image_format` module

* Don't leak `PartitionTable` type in public API

* Derive more traits on public types in `command` module

* fixups

* impl Hash for things

* fmt

* wording consistency

* feat: Udpate docstrings and derives

* feat: Implement C-CONV

* Derive more traits on public types in `flasher` module

* docs: Add missing module documentation

* docs: Udpate changelog

* docs: Fix changelog

---------

Co-authored-by: Scott Mabin <scott@mabez.dev>
Co-authored-by: Sergio Gasquez <sergio.gasquez@gmail.com>
2025-07-01 08:35:32 +00:00