Domande frequenti su ESP32

Firmware e dati ESP32: partizioni flash, file e lettura

// firmware · dati · faq

Categoria: ESP32 · Firmware · Storage flash · Aggiornato ad agosto 2026

Firmware, partizioni e i file nascosti nella tua flash: cosa flashare, dove finisce, come rileggerlo. Il simulatore nel browser rispecchia lo stesso layout.

Come leggere una partizione flash ESP32 in C?

Usa l’API esp_partition: esp_partition_find_first() localizza una partizione per tipo ed etichetta, esp_partition_read() copia i byte, e stai leggendo la flash dal C senza esptool. Gli indirizzi sono relativi all’inizio della partizione, non alla flash. Chiedere come leggere la partition table esp32 di solito significa esptool.py read_flash 0x8000 0x1000 pt.bin decodificato con gen_esp32part.py.

Come flashare il firmware dell’ESP32?

Firmware in senso stretto è l’immagine dell’app: esptool.py write_flash 0x10000 firmware.bin. Nota 0x10000, non 0x0 — flashare un’app a 0x0 è il classico errore del boot loop silenzioso, e l’ho fatto anch’io.

Come flashare un file BIN sull’ESP32?

Un .bin è solo firmware in un file, quindi il comando è lo stesso write_flash con l’offset che corrisponde a cosa è il file: 0x1000 per un bootloader, 0x8000 per una partition table, 0x10000 per un’app. Le immagini di fabbrica unite dagli installer Espressif sono l’eccezione, e partono da 0x0. Offset sbagliato: boot loop, e l’upload riporta successo.

Come scaricare un file da un server con ESP32 Arduino?

HTTPClient: http.begin(url), http.GET(), leggi il body. È così che si scarica un file da un server con esp32 arduino in dieci righe, e lo stesso client fa le POST quando ti serve il contrario — come inviare dati dall’esp32 al server. Per il firmware usa invece la classe Update: Update.begin(size) poi Update.writeStream(stream) installa un .bin in sicurezza. L’insidia classica è TLS: HTTPS richiede un certificato radice; se manca sembra un problema di rete. L’HTTP semplice funziona quasi sempre sulla tua LAN.

Come estrarre il codice dall’ESP32?

Sorgente, no — codice macchina, sì. esptool.py read_flash 0x0 0x400000 dump.bin tira fuori l’intera flash, e lo stesso comando risponde a come leggere il codice dall’esp32: i byte ci sono, il sorgente leggibile no. Per identificare un’immagine firmware senza scheda, esptool.py image_info riporta chip e modalità flash — è così che si determinano le build del firmware esp32.

L’ESP32 ha l’EEPROM?

Nessuna EEPROM fisica — è emulata nella flash. EEPROM.h e la libreria Preferences scrivono entrambe nella partizione NVS, una piccola area chiave-valore nella SPI flash. Risposta pratica: sì, pagata in resistenza della flash invece che in un chip dedicato. Ti chiedi come pulire l’eeprom esp32? Preferences.clear() lo fa in una chiamata.

Cosa vive dove nella flash?

Layout default da 4MB: bootloader a 0x1000, NVS a 0x9000 (credenziali Wi-Fi, impostazioni), app a 0x10000, filesystem dati verso la fine. La partition table a 0x8000 è la mappa — la nostra knowledge base ha il riferimento completo per scheda.

Come faccio un dump dell’intera flash?

esptool.py read_flash 0x0 0x400000 backup.bin su un chip da 4MB, con --verify per controllare che sia tornato integro; il ripristino è write_flash agli stessi offset. Un dump completo è l’unica vera rete di sicurezza prima del firmware sperimentale — ne tengo uno prima di ogni scheda che intendo maltrattare, e ne ha salvate due.

SPIFFS o LittleFS?

LittleFS: più veloce, regge meglio i tagli di corrente, e viaggia col core Arduino-ESP32. SPIFFS è legacy, ancora buono per dati statici, ed entrambi si caricano con lo stesso plugin Sketch Data Upload. I documenti ufficiali sono vaghi sulla migrazione, quindi formatta il nuovo filesystem al primo avvio e copia i file sopra.

Posso aggiornare il firmware via Wi-Fi?

Sì — OTA. La classe Update prende lo stesso stream .bin della risposta sul download dal server e scrive la partizione OTA mentre l’app gira. È la via pratica a come accedere all’esp32 da ovunque — il dispositivo chiama casa invece di farti fare port forwarding. app.sensbench.com testa il flusso nel browser.

I progetti di questo argomento girano direttamente nel simulatore gratuito di sensbench: circuito pre-cablato, firmware incluso, senza account né installazione.

Leave a Reply

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