Questions fréquentes sur l’ESP32

Firmware et données ESP32 : partitions, fichiers, lecture

// firmware · data · faq

Classé dans : ESP32 · Firmware · Stockage flash · Mis à jour en août 2026

Firmware, partitions et fichiers cachés dans votre flash : quoi flasher, où ça va, comment le relire. Le simulateur en navigateur reflète le même layout.

Comment lire une partition flash ESP32 en C ?

Utilisez l’API esp_partition : esp_partition_find_first() localise une partition par type et étiquette, esp_partition_read() copie les octets, et vous lisez le flash depuis C sans esptool. Les adresses sont relatives au début de la partition, pas au flash. Demander comment lire la table de partitions esp32 signifie en général esptool.py read_flash 0x8000 0x1000 pt.bin décodé avec gen_esp32part.py.

Comment flasher un firmware ESP32 ?

Le firmware au sens strict, c’est l’image de l’application : esptool.py write_flash 0x10000 firmware.bin. Notez 0x10000, pas 0x0 — flasher une application à 0x0 est l’erreur classique de boucle de démarrage silencieuse, et je l’ai commise.

Comment flasher un fichier BIN vers un ESP32 ?

Un .bin n’est que du firmware dans un fichier, donc la commande est le même write_flash avec l’offset qui correspond à ce qu’est le fichier : 0x1000 pour un bootloader, 0x8000 pour une table de partitions, 0x10000 pour une application. Les images d’usine fusionnées des installeurs Espressif sont l’exception, commençant à 0x0. Mauvais offset : boucle de démarrage, et le téléversement annonce un succès.

Comment télécharger un fichier depuis un serveur avec un ESP32 Arduino ?

HTTPClient : http.begin(url), http.GET(), lisez le corps. C’est comme ça qu’on télécharge un fichier depuis un serveur avec un esp32 arduino en dix lignes, et le même client fait des POST quand vous avez besoin du sens inverse — comment envoyer des données d’un esp32 vers un serveur. Pour le firmware, utilisez la classe Update à la place : Update.begin(size) puis Update.writeStream(stream) installe un .bin en toute sécurité. Le piège classique, c’est TLS : HTTPS a besoin d’un certificat racine ; un certificat manquant ressemble à un problème réseau. Le HTTP simple marche la plupart du temps sur votre réseau local.

Comment extraire le code d’un ESP32 ?

Le code source, non — le code machine, oui. esptool.py read_flash 0x0 0x400000 dump.bin tire tout le flash, et la même commande répond à « comment lire le code d’un esp32 » : les octets y sont, le source lisible n’y est pas. Pour identifier une image firmware sans carte, esptool.py image_info rapporte la puce et le mode flash — c’est comme ça qu’on détermine les builds de firmware esp32.

L’ESP32 a-t-il une EEPROM ?

Pas d’EEPROM physique — elle est émulée dans le flash. EEPROM.h et la bibliothèque Preferences écrivent tous deux dans la partition NVS, une petite zone clé-valeur dans le flash SPI. Réponse pratique : oui, payée en endurance de flash au lieu d’une puce dédiée. Vous vous demandez comment vider l’eeprom d’un esp32 ? Preferences.clear() le fait en un appel.

Qu’est-ce qui vit où sur le flash ?

Layout 4 Mo par défaut : bootloader 0x1000, NVS 0x9000 (identifiants Wi-Fi, réglages), application 0x10000, système de fichiers de données vers la fin. La table de partitions à 0x8000 est la carte — notre base de connaissances contient la référence complète par carte.

Comment vider tout le flash ?

esptool.py read_flash 0x0 0x400000 backup.bin sur une puce 4 Mo, avec --verify pour vérifier qu’il est revenu intact ; restaurez avec write_flash aux mêmes offsets. Une sauvegarde complète est le seul vrai filet de sécurité avant un firmware expérimental — j’en garde une avant chaque carte que je prévois de maltraiter, et elle en a sauvé deux.

SPIFFS ou LittleFS ?

LittleFS : plus rapide, survit mieux aux coupures de courant, et livré avec le core Arduino-ESP32. SPIFFS est l’héritage, encore bien pour des données statiques, et les deux se téléversent avec le même plugin Sketch Data Upload. La documentation officielle est vague sur la migration, donc formatez le nouveau système de fichiers au premier démarrage et copiez les fichiers.

Puis-je mettre à jour le firmware par Wi-Fi ?

Oui — l’OTA. La classe Update prend le même flux .bin de la réponse sur le téléchargement depuis serveur et écrit la partition OTA pendant que l’application tourne. C’est la voie pratique vers « comment accéder à un esp32 depuis n’importe où » — l’appareil appelle la maison au lieu de faire du port-forwarding. app.sensbench.com teste le flux dans un navigateur.

Les projets de ce sujet s’exécutent directement dans le simulateur gratuit de sensbench : circuit pré-câblé, firmware inclus, sans compte ni installation.

Leave a Reply

Your email address will not be published. Required fields are marked *