Lorsque vous avez un certain nombre de microcontrôleurs à flasher avec le même programme, il peut être intéressant de flasher le fichier compilé BIN directement. Cela a deux intérêts. Vous faire gagner du temps sur le téléversement et cela permet à de tierce personnes de téléverser un programme sans utiliser l’IDE Arduino.
Vous ne devriez pas en avoir besoin tous les jours mais je vais vous montrer la méthode pour générer les fichiers BIN et le téléverser dans un microcontrôleur ESP32. Cette méthode peut être adaptée pour d’autre microcontrôleur comme Arduino et ESP8266 avec d’autres outils.
Générer le fichier BIN à l’aide de l’IDE Arduino
Dans le logiciel Arduino, aller dans le menu Fichier puis Préférences.
Cocher les cases « résultats détaillés pendant » pour la compilation et le téléversement (Mode verbose)
Sélectionnez le port et le type de carte sur lequel vous souhaitez téléverser le programme.
Lorsque vous appuyez sur Compiler ou Téléverser, l’IDE Arduino crée un fichier build dans le dossier AppData\Local\Temp\ dans lequel se trouve le fichier BIN. Vous pouvez retrouver le nom du fichier dans la console de l’IDE lors de la compilation ou du téléversement.
Après la compilation:
Après un téléversement:
Vous pouvez copier le fichier BIN généré autre part sur votre ordinateur.
Téléverser le fichier BIN à l’aide de l’invite de commande Windows
Après avoir lancer le téléversement sur l’IDE Arduino, vous obtenez la commande de téléversement.
Vous pouvez copier cette ligne dans l’invite de commande pour téléverser le programme dans le microcontrôleur. N’oubliez pas de modifier avec le nouveau chemin du fichier BIN et de rajouter des guillemets autour des chemins contenant des espaces, si besoin.
Appuyez ensuite sur la touche « Entrée » pour téléverser le programme. (Astuce: une fois la commande connue, vous pouvez créer un fichier bash pour automatiser le process).
N.B.: Si vous souhaitez téléverser le fichier BIN à partir d’un autre ordinateur (notamment si l’IDE Arduino n’est pas installé), n’oubliez pas d’installer les drivers nécessaires à la reconnaissance des microcontrôleurs.
Téléverser le fichier BIN à l’aide de Flash Download Tool
Téléchargez le logiciel Flash Download Tool.
Lancer le fichier exécutable flash_download_tool_3.8.5.exe et sélectionner le mode développeur
Puis sélectionnez l’outil ESP32 DownloadTool
Pour retrouver l’adresse à laquelle venir écrire le fichier BIN, il faut repérer la bonne instruction dans la commande de téléversement (ici 0x10000).
0x10000 C:\Users\ADMIN\AppData\Local\Temp\arduino_build_277133/splecode.ino.bin
Vous pouvez retrouver le nom du port utilisé pour communiquer avec l’ESP32 dans le gestionnaire de périphériques (COM6).
Sélectionner le bon baudrate. Dans notre cas, 921600. Vous pouvez retrouver cette valeur dans la commande de téléversement précédée de « –baud ».
C:\Users\ADMIN\AppData\Local\Arduino15\packages\esp32\tools\esptool_py\2.6.1/esptool.exe --chip esp32 --port COM6 --baud 921600
Puis sélectionnez le fichier BIN à l’endroit où vous l’avez enregistré.
Vous pouvez ensuite appuyer sur « Start », afin de téléverser le fichier.
Bon tuto, je suis arrivé au bon endroit, magnifique,
Bonjour,
Très bon tuto.
Je suis étonné que vous n’indiquiez pas le chemin du fichier des partitions sur la première ligne en @0x8000. Ne risque-t-on pas d’utiliser une partition par défaut ?
Ce fichier des partitions est pourtant bien nécessaire comme indiqué dans la méthode utilisant l’invité de commandes ci-dessus.
Cordialement.
Bonjour,
effectivement, ce chemin semble devoir être spécifié pour une carte vierge qui n’a pas de bootloader chargé. à tester.
0xe000 C:\Users\ADMIN\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.5/tools/partitions/boot_app0.bin
0x1000 C:\Users\ADMIN\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.5/tools/sdk/bin/bootloader_dio_80m.bin