Esptool是什么
esptool 是一個開源、官方的命令行工具,主要用于對 樂鑫(Espressif)的 ESP8266/ESP32、系列芯片進(jìn)行讀寫固件、編程和調(diào)試。它通過串口(UART)與 ESP 設(shè)備Bootloader(引導(dǎo)加載程序)進(jìn)行通信,按照約定的協(xié)議發(fā)送指令和數(shù)據(jù),執(zhí)行各種底層操作。esptool 是一個 Python 腳本,所以需要先安裝 Python。安裝后,就可以在命令行中使用 esptool.py 命令。
與其他工具的關(guān)系:
Arduino IDE:當(dāng)您在 Arduino IDE 中點(diǎn)擊“上傳”按鈕時,IDE 實際上是在后臺調(diào)用了 esptool(或其變種 arduino-esp32 中的工具)來完成固件燒錄。您無需手動操作。
PlatformIO:PlatformIO 同樣使用 esptool 作為其燒錄 ESP 固件的后端工具。
ESP-IDF:樂鑫官方的開發(fā)框架 ESP-IDF,其構(gòu)建和燒錄系統(tǒng)也深度集成了 esptool。
ESP-IDF環(huán)境安裝
安裝好后,電腦開始列表中會出現(xiàn)兩個ESP-IDF,二選一使用其中一個

通過Esptool命令讀取備份ESP32/8266內(nèi)的固件程序
獲取ESP的flash大小:
esptool.py flash_id

將擦除ESP中flash固件:
esptool.py erase_flash

將ESP中 Flash 整個內(nèi)容備份到指定路徑:
esptool.py -p COM218 -b 921600 read_flash 0 0x1000000 "C:Users18748DocumentsDownloadsbackup.bin"
COM218為自己電腦設(shè)備管理器中ESP32連接的USB轉(zhuǎn)串口的端口號
b 為串口波特率
0為起始地址,0x1000000為ESP32的flash容量大小為16MB,其他的有0x800000 (8MB),0x400000 (4MB), 0x200000 (2MB)
根據(jù)做自己所用的模組實際flash大小填寫
backup.bin為備份的文件名,可以自己隨便取一個文件名,加上 .bin 后綴,不要去新建,ESP-IDF備份好會自動新建的
雙引號為要備份的文件存放到自己電腦的文件夾的路徑,根據(jù)自己需要隨意指定一個文件夾,注意路徑后面沒有文件名,例如 C:Users18748DocumentsDownloads
燒錄一個指定文件夾中的固件程序文件到ESP中:
esptool.py -p COM218 -b 460800 write_flash 0 "D:flash_download_toolflash_dumpfc012cd137a0_0x0_0x1000000_20251030_191832.bin"

燒錄多個指定文件夾中的固件程序文件到ESP32中:
esptool.py -p COM218 -b 460800 write_flash 0x0 "C:Users18748DocumentsArduinoESP32-S3-WS2812Blinkbuildesp32.esp32.esp32s3Blink.ino.bootloader.bin" 0x8000 "C:Users18748DocumentsArduinoESP32-S3-WS2812Blinkbuildesp32.esp32.esp32s3Blink.ino.partitions.bin" 0xe000 "C:Users18748DocumentsArduinoESP32-S3-WS2812Blinkbuildesp32.esp32.esp32s3boot_app0.bin" 0x10000 "C:Users18748DocumentsArduinoESP32-S3-WS2812Blinkbuildesp32.esp32.esp32s3Blink.ino.bin"

通過flash_download_tool備份讀取ESP32/8266中flash的固件程序
點(diǎn)擊下載flash_download_tool軟件工具
讀取ESP芯片信息、RAM/Flash容量大小
讀取Flash中固件程序
選擇好較大的波特率,加快讀取速度,根據(jù)讀取到的flash容量大小,設(shè)置好size的值,0x1000000為ESP32的flash容量大小為16MB,其他的有0x800000 (8MB),0x400000 (4MB), 0x200000 (2MB)。點(diǎn)擊Rsad Flash,等待讀取完畢,讀取到文件會自動彈出,出現(xiàn)在flash_download_tool工具安裝目錄文件夾下。
將讀取到固件程序,再燒錄到ESP32中驗證是否和原來的一致
總結(jié)
通過以上兩種方式,我們了解到如何讀取備份一個ESP32/8266中falash內(nèi)的固件程序??梢钥吹降诙N方式方面快捷。
-
python
+關(guān)注
關(guān)注
57文章
4856瀏覽量
89524 -
固件程序
+關(guān)注
關(guān)注
0文章
2瀏覽量
1478 -
ESP32
+關(guān)注
關(guān)注
24文章
1078瀏覽量
20807
發(fā)布評論請先 登錄
在Windows上安裝ESP8266和ESP32的最佳實踐?
ESP32和ESP8266基于Arduino的MQTT收發(fā)資料說明
如何幫助ESP8266系列模組燒錄固件ESP8266固件燒錄說明
制作 NodeMCU ESP32 自定義固件
ESP32 開發(fā)之旅② Arduino For ESP32說明
arduino / VScode+platformIO搭建esp32/esp8266編譯環(huán)境(一篇足矣)
簡單的ESP32和ESP8266編程器
ESP8266/ESP32自動下載原理
ESP8266或ESP32上的WiFi Webradio
靈活的ESP8266和ESP32初始設(shè)備配置
啟明云端分享|盤點(diǎn)Esp32-C3與Esp8266 的區(qū)別

如何備份復(fù)制拷貝出ESP32/8266內(nèi)的固件程序


評論