Débuggage sur ESP32 avec un ESP‑Prog et PIO Unified Debugger
Cet article montre comment mettre en route un board ESP‑Prog et les outils intégrés à PlatformIO pour flasher et débugger un ESP32.
Le board ESP‑Prog permet de faire deux choses distinctes :
- du débuggage en utilisant une interface JTAG (connecteur 10 broches) (ESP32 uniquement)
- de flasher des programmes (ESP8266 & ESP32)
Documentation
- PIO Unified Debugger (intégré à PlatformIO)
- ESP-Prog
Matériel utilisé
Vidéo d’Andreas Spiess
Source d’inspiration de cet article. Merci Andreas.
Connexions JTAG
Le débuggage JTAG utilise les GPIO 12 à 15, ce qui veut dire que ces broches ne peuvent pas être utilisées par le programme en cours de test !
Les couleurs sont indicatives et correspondent simplement aux fils que j’ai utilisés et que l’on peut voir sur la photo.
ESP32 PROG BOARD | PROG BOARD ESP32
====================================|=================================
jaune 3.3V 1. VDD | 2. ESP_TMS IO_14 vert
bleu GND 3. GND | 4. ESP_TCK IO_13 violet
- 5. GND | 6. ESP_TDO IO_15 gris
- 7. GND | 8. ESP_TDI IO_12 blanc
- 9. GND | 10. NC -
Mise en route
- S’assurer que les cavaliers sont configurés correctement (voir l’image ci-dessus).
- Connecter le câble JTAG comme indiqué dans le tableau ci-dessus.
- Ouvrir un projet PlatformIO existant ou en créer un nouveau.
- Ajouter les informations suivantes dans le fichier
platformio.ini
.
debug_tool = esp-prog
upload_protocol = esp-prog
debug_init_break = tbreak setup
- Pour info, voici le fichier
platformio.ini
que j’ai utilisé :
[platformio]
default_envs =
esp32doit-devkit-v1
[env]
monitor_speed = 115200
build_flags =
-D VERSION="0.1"
-D BAUD_RATE=${env.monitor_speed}
[env:esp32doit-devkit-v1]
platform = espressif32
board = esp32doit-devkit-v1
framework = arduino
debug_tool = esp-prog
upload_protocol = esp-prog
debug_init_break = tbreak setup
- Brancher le connecteurs USB de l’ESP‑Prog à l’ordinateur. L’ESP‑Prog utilise deux ports série. Il n’y a pas besoin de brancher le connecteur USB de l’ESP, mais ça peut être pratique pour accéder à l’interface série. L’ESP‑Prog a aussi une interface série que je n’ai pas testé.
- Sous Mac, il faut installer libusb avec Homebrew (
brew update && brew upgrade && brew install libusb
). - Sous Windows, il faut modifier le pilote par défaut avec le logiciel Zadig. Voir la procédure dans la vidéo d’Andreas Spiess à 14:52.
- Uploader le programme avec la commande standard de PlatformIO (
ctrl alt u
). - Placer quelques points d’arrêts dans le programme.
- Démarrer le débuggage (menu
Debug/Start Debugging F5
).