Table des matières:
- Fournitures
- Étape 1: regardez la vidéo
- Étape 2: Matériel - Pièces et câblage
- Étape 3: Matériel - Configuration du pilote
- Étape 4: Logiciel: Installation de PlatformIO
- Étape 5: Logiciel: Utilisation de PlatformIO
- Étape 6: Débogage: Peau de banane potentielle
- Étape 7: Débogage: Configuration
- Étape 8: Débogage: Démarrage du débogage
- Étape 9: Débogage: Utilisation de base
- Étape 10: Dépannage
- Étape 11: Conclusion
Vidéo: Comment utiliser un débogueur sur un ESP32 : 11 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
Avez-vous déjà voulu jeter un coup d'œil à l'intérieur de votre code pour voir pourquoi il se comporte ainsi ? Traditionnellement, dans les projets ESP32, vous auriez dû ajouter une déclaration d'impression sans fin pour essayer de comprendre ce qui se passait, mais il existe un meilleur moyen!
Un débogueur est un moyen de voir ce qui se passe dans des sections particulières de votre code et d'essayer différentes valeurs de variables sans recompiler votre code. comment l'utiliser sur un ESP32.
Dans ce guide, je vais vous montrer comment configurer le matériel, configurer le logiciel et montrer un exemple simple d'utilisation du débogueur.
Fournitures
-
ESP-Prog - C'est la carte nécessaire pour le débogage
- Exactement celui que j'ai acheté*
- 5$ moins cher, mais je ne l'ai pas testé*
-
Un ESP32 qui casse les broches 12, 13, 14, 15
- Plume d'Adafruit Huzzah32
- D1 Mini ESP32*
-
[FACULTATIF] Bouclier de débogage que je vends sur Tindie
- Plume Huzzah32
- D1 Mini ESP32
* = Lien d'affiliation
Étape 1: regardez la vidéo
J'ai une vidéo sur ce sujet si vous voulez la regarder.
Sur ma chaîne, je fais généralement des vidéos basées sur ESP8266 et ESP32, donc si vous êtes intéressé par celles-ci, n'hésitez pas à les consulter !
Étape 2: Matériel - Pièces et câblage
Pour utiliser le débogueur, vous n'avez besoin que d'un ESP-Prog et de presque toutes les cartes ESP32 (liens vers ceux-ci dans une étape précédente)
ESP-Prog:
L'ESP-Prog est une carte conçue par espressif, les fabricants des puces ESP32 et ESP8266. Il se connecte aux broches JTAG de l'ESP32 pour nous permettre d'utiliser le débogueur. Il peut également être utilisé pour programmer les cartes ESP32, mais je ne couvrirai pas cela ici.
Carte ESP32:
Vous pouvez utiliser pratiquement n'importe quelle carte ESP32 pour cela une fois qu'elle sort les broches JTAG, qui sont 12, 13, 14 et 15. J'ai testé à la fois une carte Adafruit Feather Huzzah32 et une carte D1 Mini 32 et elles ont toutes les deux bien fonctionné.
Veuillez noter que vous pouvez utiliser les broches JTAG dans votre croquis avec le débogueur, par exemple la LED intégrée de la carte Huzzah32 est sur la broche 13, vous ne pouvez donc pas l'utiliser pendant le débogage.
Câblage:
Pour connecter l'ESP-Prog à l'ESP32, il suffit d'utiliser le guide de câblage tel que fourni dans l'image ci-dessus. Vérifiez avec le schéma de câblage de votre carte ESP32 si vous ne voyez pas immédiatement les broches appropriées car elles utilisent parfois un schéma de nommage différent.
Boucliers de débogage:
Ceux-ci sont facultatifs, mais je vends des blindages sur Tindie pour le Huzzah32 et le D1 Mini 32 qui rendent la connexion de l'ESP-Prog vraiment simple, il répartit les broches appropriées sur un connecteur IDC que vous pouvez utiliser un câble plat pour connecter directement entre le bouclier et l'ESP-Prog
Étape 3: Matériel - Configuration du pilote
Afin d'utiliser ESP-prog pour le débogage, nous devons installer les pilotes appropriés. PlatformIO fournit quelques étapes pour cela ici, mais je vais passer en revue les étapes Windows de ce guide.
- Téléchargez et installez les pilotes FTDI pour ESP-Prog à partir d'ici, faites défiler vers la droite pour télécharger la version "setup exécutable" pour le rendre plus facile.
- Téléchargez et installez l'outil Zadig à partir d'ici, cela nous permet d'installer un pilote générique nécessaire au débogage.
- Avec l'ESP-Prog branché, ouvrez Zadig
- Dans l'application Zadig, sous "Options", cliquez sur "Liste tous les appareils"
- La liste déroulante dans Zadig sera maintenant remplie, sélectionnez l'option "Dual RS232-HS (Interface 0)". Assurez-vous que c'est l'interface 0 que vous sélectionnez !
- À droite de la flèche verte, "WinUSB" doit être sélectionné, puis cliquez sur "Remplacer le pilote"
Lorsque cela est terminé, vos pilotes doivent être configurés pour être utilisés !
Remarque: si vous changez le port USB que vous utilisez pour l'ESP-Prog, vous devrez peut-être répéter les étapes 3 à 6. Si vous obtenez une erreur comme indiqué dans l'image ci-dessus lors du débogage, vous devez répéter les étapes.
Étape 4: Logiciel: Installation de PlatformIO
PlatformIO est un IDE pour développer avec différents frameworks embarqués, y compris l'écosystème Arduino. Il est plus compliqué à utiliser que quelque chose comme l'IDE Arduino, mais il est très puissant et possède certaines fonctionnalités qui manquent cruellement à l'IDE Arduino, telles que la saisie semi-automatique.
Il est nécessaire à PlatformIO d'utiliser le débogueur. Si vous connaissez déjà PlatformIO, n'hésitez pas à sauter quelques étapes.
- Téléchargez et installez Visual Studio Code (VS Code) à partir du lien fourni sur le site Web PlatformIO.org
- Ouvrez VS Code et ouvrez le menu des extensions, le bouton est mis en surbrillance dans l'image ci-dessus
- Tapez "platformio" dans la recherche, sélectionnez-le et cliquez sur installer.
Étape 5: Logiciel: Utilisation de PlatformIO
L'utilisation de PlatformIO est un peu différente de l'utilisation de l'IDE Arudino, donc dans cette étape, nous allons simplement couvrir les bases de l'exécution d'un exemple sur une carte.
Ouvrir un exemple:
- Cliquez sur le bouton Accueil de la barre d'outils PlatformIO (comme indiqué dans l'image)
- Cliquez sur le bouton "Exemples de projet"
- Sélectionnez l'exemple "Arduino-blink" dans la section Espressif 32
Cela ouvrira un exemple de projet blink. La disposition d'un PlatformIO est assez différente de celle d'un projet Arduino, alors passons en revue les bases.
Où est le code ?
Le code de votre projet sera stocké dans le dossier "src", pour l'exemple blink, vous verrez un fichier "blink.cpp", ce fichier est le même que votre fichier de croquis (.ino) dans un projet Arduino.
Comment configurer ma carte ?
Les configurations de votre projet sont conservées dans un fichier "platformio.ini" de votre projet. C'est en fait l'une de mes choses préférées à propos de PlatformIO par rapport à l'IDE Arduino, cela n'a jamais eu de sens pour moi que les paramètres de la carte ne soient pas liés à des croquis.
L'exemple.ini contient des définitions pour plusieurs tableaux différents, mais pour simplifier les choses, supprimons les deux définitions du bas.
Où dois-je configurer mon port COM ?
PlatformIO essaiera en fait automatiquement de trouver le bon port COM à utiliser, vous pouvez donc vous en tirer sans rien définir pour cela. Mais si vous avez plusieurs ports COM, ce que vous aurez lors de l'utilisation du débogueur, je pense qu'il est logique de définir celui dont vous avez besoin. Vous pouvez voir les différents périphériques que vous possédez en cliquant sur la section "Périphériques" dans l'onglet Accueil, et vous pouvez définir celui de votre ESP32 dans le "platformio.ini" en ajoutant une configuration "upload_port".
Comment télécharger mon code ?
Cliquez sur le bouton Télécharger (l'icône est une flèche pointant vers la droite) et il devrait compiler et télécharger le code. Vous devriez maintenant avoir une LED clignotante sur votre carte.
Étape 6: Débogage: Peau de banane potentielle
C'est quelque chose qui m'a surpris lorsque je préparais cela et qui, espérons-le, sera corrigé au moment où vous l'essayerez, mais j'ai pensé qu'il était important de partir d'ici.
Au moment de la rédaction de ce guide, la dernière version de PlatformIO est la 4.3.0 et contient un bogue lié à la possibilité de déboguer. Heureusement, nous pouvons mettre à jour la dernière version de développement assez facilement, ce qui résout le problème.
Vérifiez sur la page d'accueil la version du noyau PlatformIO, si elle est "4.3.0", effectuez les étapes suivantes.
- Dans la barre d'outils PlatformIO, cliquez sur l'icône du terminal
- Dans le type de terminal: pio upgrade --dev
- Le code RestartVS et PlatfromIO doivent être mis à jour
Étape 7: Débogage: Configuration
Nous devons éditer le fichier "PlatofrmIO.ini" pour activer le débogage, nous n'avons qu'à y ajouter deux choses.
debug_tool = esp-prog
Cela définit l'outil de débogage que nous utilisons.
debug_init_break = configuration de tbreak
C'est une astuce que nous avons apprise de la vidéo d'Andress Spiess sur le débogage sur l'ESP32. Il indique au débogueur de s'arrêter dans la configuration de notre application.
Étape 8: Débogage: Démarrage du débogage
Avant d'entrer dans le vif du sujet, nous allons apporter une modification mineure à l'esquisse qui facilitera la démonstration de ce que vous pouvez faire avec le débogage.
- Créez une nouvelle variable, "int delayTime = 1000;" en dehors de toute méthode, cela en fera une variable globale.
- Remplacez le nombre à l'intérieur des appels de délai dans la boucle par cette nouvelle variable: delay(delayTime);
Téléchargez à nouveau le code sur la carte, puis pour lancer le débogage, dans la barre d'outils, cliquez sur « Exécuter » puis « Démarrer le débogage »
Vous verrez les choses bouger dans la fenêtre du terminal, mais même lorsque cela indique que c'est réussi, si vous cliquez sur la "Console de débogage", vous verrez que cela fonctionne toujours, cela prendra quelques secondes pour terminer.
Si tout s'est déroulé comme prévu, vous verrez le débogueur s'arrêter au début de l'installation.
Étape 9: Débogage: Utilisation de base
Voyons quelques-unes des bases de ce que vous pouvez faire avec le débogueur
Création de points d'arrêt:
Un point d'arrêt est un point de votre code où vous souhaitez que le débogueur s'arrête. Pour créer un point d'arrêt, cliquez à gauche du numéro de ligne. En tant que démo, ajoutez un point d'arrêt à la première ligne de la méthode de boucle.
Navigation des points d'arrêt:
Pour passer d'un point d'arrêt à un autre ou passer à la ligne de code suivante, vous pouvez utiliser les outils qui apparaîtront en haut de l'écran. Appuyez sur le bouton "continuer" (ressemble à un bouton de lecture) pour déplacer le point d'arrêt que nous venons de créer à l'intérieur de la boucle.
Montres variables:
Les surveillances de variables vous permettent de surveiller la valeur des variables lorsque le débogueur est arrêté à un point d'arrêt. Pour ajouter une nouvelle veille variable, vous pouvez cliquer sur l'icône +, puis saisir simplement le nom de la variable. Comme démo, tapez la variable que nous avons ajoutée à l'étape précédente "delayTime"
Visionneuse de variables:
Vous pouvez également voir toutes les variables et leurs valeurs qui sont disponibles à votre point d'arrêt actuel. Pour faire une démonstration, si vous regardez dans la section "Global", vous devriez trouver la variable "delayTime".
Modification de la valeur des variables:
Vous pouvez également modifier les valeurs des variables et cela aura un effet immédiat sur le comportement de vos codes. Pour le démontrer, cliquez sur la variable delayTime dans la section Variable Viewer et modifiez la valeur en « 100 ». Pour montrer que cela fonctionne, désactivez le point d'arrêt à l'intérieur de la boucle en cliquant à nouveau à gauche du numéro de ligne. Appuyez sur le bouton Continuer dans la barre de navigation du point d'arrêt. La LED de votre ESP32 devrait maintenant clignoter beaucoup plus rapidement qu'avant.
Étape 10: Dépannage
J'ai découvert lors de mes tests que parfois je ne pouvais pas télécharger sur l'ESP32 alors qu'il était connecté à l'ESP-prog, et je ne pouvais pas comprendre pourquoi cela s'était produit, car la plupart du temps, je pouvais télécharger sans des problèmes. J'ai découvert que je pouvais simplement déconnecter l'ESP32 et l'ESP-Prog, télécharger le code sur l'ESP32, puis les reconnecter et cela fonctionnerait bien.
Étape 11: Conclusion
Je pense que c'est un outil vraiment cool à ajouter à la boîte à outils pour aider à comprendre ce qui se passe dans votre projet.
J'aimerais savoir si vous trouvez cela utile !. S'il vous plaît laissez-moi savoir dans les commentaires ci-dessous, ou rejoignez-moi et un tas d'autres créateurs sur mon serveur Discord, où nous pouvons discuter de ce sujet ou de tout autre créateur lié à vous, les gens sont vraiment utiles là-bas, donc c'est un endroit idéal pour s'accrocher dehors.
Je tiens également à remercier chaleureusement mes sponsors Github qui m'aident à soutenir ce que je fais, je l'apprécie vraiment. Si vous ne le savez pas, Github fait correspondre les parrainages pour la première année, donc si vous faites un parrainage, ils le feront à 100% pour les prochains mois. Merci d'avoir lu!
Conseillé:
Comment configurer un débogueur de noyau Windows sur votre réseau : 6 étapes
Comment configurer un débogueur de noyau Windows sur votre réseau : Le débogage est un outil populaire utilisé pour trouver la cause première d'un bogue. Un bogue peut se propager de différentes manières. cela peut provoquer un plantage du système (écran bleu/BSOD), cela peut provoquer un plantage de l'application, cela peut faire geler votre système pour nommer un fe
Comment utiliser le terminal Mac et comment utiliser les fonctions clés : 4 étapes
Comment utiliser le terminal Mac et comment utiliser les fonctions clés : Nous allons vous montrer comment ouvrir le terminal MAC. Nous vous montrerons également quelques fonctionnalités du terminal, telles que ifconfig, le changement de répertoire, l'accès aux fichiers et arp. Ifconfig vous permettra de vérifier votre adresse IP, et votre annonce MAC
Comment utiliser ESP32 pour contrôler la LED avec Blynk via WiFi : 7 étapes (avec photos)
Comment utiliser ESP32 pour contrôler la LED avec Blynk via WiFi : Ce tutoriel va utiliser la carte de développement ESP32 pour contrôler la LED avec Blynk via WiFi. Blynk est une plate-forme avec des applications iOS et Android pour contrôler Arduino, Raspberry Pi et autres sur Internet. Il s'agit d'un tableau de bord numérique où vous pouvez créer un
Comment utiliser le mode macro sur votre appareil photo : 6 étapes (avec photos)
Comment utiliser le mode macro sur votre appareil photo : Depuis trop longtemps, les instructables souffrent de personnes qui prennent continuellement des photos floues et floues. Eh bien, j'ai l'intention de mettre un terme à cela. Dans ce instructable, je vais vous montrer comment utiliser le paramètre macro sur les appareils photo de la plupart des fabricants
Comment utiliser SpamAssassin complet sur les comptes hébergés sur Pair.com : 9 étapes
Comment utiliser SpamAssassin complet sur les comptes hébergés sur Pair.com : J'héberge un ou deux domaines sur pair.com. Ils ont d'excellentes fonctionnalités d'hébergement telles qu'un shell SSH, mysql, la prise en charge de php et plus encore. Ils n'ont cependant pas d'installation complète de SpamAssassin. Ils ont une version dépouillée étrange qui vous permet seulement d'ajouter du noir