fbpixel
Étiquettes : ,

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)

arduino-preference-verbose-mode Générer et téléverser des fichiers BIN pour ESP32

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:

esp32-preference-verbose-compilation-result Générer et téléverser des fichiers BIN pour ESP32

Après un téléversement:

esp32-preference-verbose-upload-result Générer et téléverser des fichiers BIN pour ESP32

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.

esp32-preference-verbose-upload-result Générer et téléverser des fichiers BIN pour ESP32

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.

terminal-copy-esp32-upload-command Générer et téléverser des fichiers BIN pour ESP32

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

terminal-run-esp32-upload-command Générer et téléverser des fichiers BIN pour ESP32

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

flash-download-tool-select-esp32 Générer et téléverser des fichiers BIN pour ESP32

Puis sélectionnez l’outil ESP32 DownloadTool

flash-download-tool-esp32-interface Générer et téléverser des fichiers BIN pour ESP32

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

device-manager-port-com-nodemcu Générer et téléverser des fichiers BIN pour ESP32

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

flash-download-tool-copy-bin-file-path Générer et téléverser des fichiers BIN pour ESP32

Vous pouvez ensuite appuyer sur « Start », afin de téléverser le fichier.

flash-download-tool-file-uploaded Générer et téléverser des fichiers BIN pour ESP32

Sources