4 Commits

Author SHA1 Message Date
57953fc60f Add flash workflow and development iteration tools
New tools:
- esp_flash_multi: Flash multiple binaries at different addresses in one operation
- esp_verify_flash: Verify flash contents match a file without re-flashing
- esp_load_ram: Load and execute binary in RAM for rapid development
- esp_serial_monitor: Capture serial output from device
- esp_elf_to_ram_binary: Convert ELF to RAM-loadable binary

Fixes:
- Use hyphenated esptool commands (load-ram, verify-flash) to avoid deprecation warnings
- Fix verify_flash parser for esptool v5.x output format
- Fix flash_multi command ordering for esptool v5.x CLI structure

Documentation updated with flash operations table and RAM loading workflow.
2026-02-06 01:02:16 -07:00
ff138c492e Fix QEMU version detection and remove unsupported ESP32-S2
Sort glob results when auto-detecting QEMU binaries to reliably
pick the newest version. Previously filesystem ordering could select
an older build (8.2.0 instead of 9.0.0), missing ESP32-S3 support.

Remove ESP32-S2 from CHIP_MACHINES — the Espressif QEMU fork has
no esp32s2 machine type.
2026-01-28 16:59:24 -07:00
cb4822a0a4 Document QEMU emulation in README and improve tool descriptions
Add QEMU section to README with install instructions and tool reference.
Enrich MCP tool docstrings with workflow context, cross-references to
related tools, and guidance on when to use each tool — these descriptions
are read by the calling LLM to decide tool selection.
2026-01-28 16:48:39 -07:00
64c1505a00 Add QEMU ESP32 emulation support
Integrate Espressif's QEMU fork for virtual ESP device management:

- QemuManager component with 5 MCP tools (start/stop/list/status/flash)
- Config auto-detects QEMU binaries from ~/.espressif/tools/
- Supports esp32, esp32s2, esp32s3, esp32c3 chip emulation
- Virtual serial over TCP (socket://localhost:PORT) transparent to esptool
- Scan integration: QEMU instances appear in esp_scan_ports results
- Blank flash images initialized to 0xFF (erased NOR flash state)
- 38 unit tests covering lifecycle, port allocation, flash writes
2026-01-28 15:35:22 -07:00