Skip to content

feat: ESP32-P4 Rev1 support + dual-target test firmware#6

Merged
jgangemi merged 1 commit into
mainfrom
jae/esp32p4-flashing
Apr 19, 2026
Merged

feat: ESP32-P4 Rev1 support + dual-target test firmware#6
jgangemi merged 1 commit into
mainfrom
jae/esp32p4-flashing

Conversation

@jgangemi

@jgangemi jgangemi commented Apr 19, 2026

Copy link
Copy Markdown
Member

Summary

  • Enable ESP32-P4 Rev1 (ECO2) chip support in parseChipType
  • Dual-target test firmware: split .firmware/sdkconfig.defaults into board-agnostic base + per-target overlays (esp32s3 USB_CDC/8MB, esp32p4 UART/16MB); target ECO2 silicon with SELECTS_REV_LESS_V3 + REV_MIN_100 to avoid rev-3 illegal-instruction panic on Elecrow CrowPanel P4 HMI 7.0
  • Rewrite .firmware/README test plan with current tool names and per-target expected values; capture operational notes (erase-first for ValidateFlashOffsets, stale USB-JTAG unplug/replug)
  • Pin tinygo.org/x/espflasher to fork branch jgangemi/espflasher#jae/esp32p4 via pseudo-version containing SLIP flush, P4 Rev1 support, atomic DTR/RTS unix reset, and hardReset DTR release fixes (upstream PRs fix: flush SLIP reader after ReadFlash to prevent stale data corruption tinygo-org/espflasher#34, #36, #37, #38)

Test plan

  • T-Dongle-S3 (ESP32-S3): erase, flash, chip_info, register, read_flash, read_nvs, nvs_set/delete, reset, heartbeat, echo
  • Elecrow CrowPanel P4 HMI 7.0 (ESP32-P4 ECO2) via CH340 upper USB-C: same surface
  • Elecrow P4 lower USB-C (USB-JTAG path) with boot-button-dance entry
  • make test green across all packages
  • Switch go.mod back to released espflasher once upstream PRs merge

@jgangemi jgangemi enabled auto-merge (squash) April 19, 2026 21:37
@jgangemi jgangemi disabled auto-merge April 19, 2026 21:37
@jgangemi jgangemi changed the title jae/esp32p4 flashing feat: ESP32-P4 Rev1 support + dual-target test firmware Apr 19, 2026
@coveralls

coveralls commented Apr 19, 2026

Copy link
Copy Markdown

Coverage Report for CI Build 24639813231

Coverage increased (+0.02%) to 76.363%

Details

  • Coverage increased (+0.02%) from the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • 23 coverage regressions across 1 file.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

23 previously-covered lines in 1 file lost coverage.

File Lines Losing Coverage Coverage
esp/esp.go 23 87.85%

Coverage Stats

Coverage Status
Relevant Lines: 2843
Covered Lines: 2171
Line Coverage: 76.36%
Coverage Strength: 0.86 hits per line

💛 - Coveralls

- add esp32p4-rev1 case to parseChipType mapping to espflasher.ChipESP32P4Rev1
- split .firmware/sdkconfig.defaults into board-agnostic base + per-target
  overlays (esp32s3: USB_CDC + 8MB; esp32p4: UART + 16MB)
- target ESP32-P4 ECO2 silicon (SELECTS_REV_LESS_V3 + REV_MIN_100) to avoid
  rev-3 illegal-instruction panic on Elecrow CrowPanel P4 HMI 7.0
- rewrite .firmware/README test plan with current tool names and per-target
  expected values; capture operational notes (erase-first for
  ValidateFlashOffsets, stale USB-JTAG unplug/replug)
- pin tinygo.org/x/espflasher to fork branch jgangemi/espflasher#jae/esp32p4
  via pseudo-version (SLIP flush, P4 Rev1, unixTightReset, hardReset DTR);
  upstream PRs tinygo-org/espflasher#34, #36, #37, #38

Validated end-to-end on T-Dongle-S3 and Elecrow P4 (both CH340 and
USB-JTAG paths).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@jgangemi jgangemi force-pushed the jae/esp32p4-flashing branch from 22b9f7d to e759cfe Compare April 19, 2026 21:42
@jgangemi jgangemi enabled auto-merge (squash) April 19, 2026 21:42
@jgangemi jgangemi merged commit e9310dd into main Apr 19, 2026
3 checks passed
@jgangemi jgangemi deleted the jae/esp32p4-flashing branch April 19, 2026 21:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants