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

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            -

Debuggage d’un ESP32 avec un ESP-Prog et PIO Unified Debugger — ouilogique.com

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 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).

Debuggage d’un ESP32 avec un ESP-Prog et PIO Unified Debugger — ouilogique.com