- Docker + Docker Compose OU installation manuelle ESP-IDF v5.2+
- USB-UART adaptateur (=CH340G, CP2102, FT232) 3.3V logic
- ESP32 dev board OU module Extraflame Black Label
Le container Dockerfile.esp-idf contient déjà tout l'environnement Espressif.
cd ~/projects/OpenXtraflame
docker compose builddocker compose run --rm esp-idf idf.py set-target esp32docker compose run --rm esp-idf idf.py -DOPENXFLAME_TARGET=external buildLe firmware est produit dans firmware/build/OpenXtraflame.bin.
docker compose run --rm esp-idf idf.py -DOPENXFLAME_TARGET=blacklabel buildConfiguration du device USB dans docker-compose.yml (défaut : /dev/ttyUSB0).
docker compose run --rm esp-idf idf.py -p /dev/ttyUSB0 flash monitordocker compose run --rm esp-idf idf.py -p /dev/ttyUSB0 monitorCtrl+] pour sortir.
Voir doc officielle Espressif : https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/
cd ~/esp/esp-idf
. ./export.sh
cd ~/projects/OpenXtraflame/firmware
idf.py -DOPENXFLAME_TARGET=external buildfirmware/build/
├── bootloader/bootloader.bin # 0x1000
├── partition_table/partition-table.bin # 0x8000
└── OpenXtraflame.bin # 0x10000 (=ota_0)
| Fichier | Offset | Notes |
|---|---|---|
| bootloader.bin | 0x1000 | ESP-IDF 2nd stage |
| partition-table.bin | 0x8000 | Table 4KB |
| OpenXtraflame.bin | 0x10000 | ota_0 |
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash \
0x1000 bootloader.bin \
0x8000 partition-table.bin \
0x10000 OpenXtraflame.binSi tu as un dump du firmware original :
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash \
0x0 /path/to/extraflame_dump.binLe dump est un flash complet 4MB, il restaure TOUT dans son état d'origine.