如何备份复制拷贝出ESP32/8266内的固件程序

电子说

1.4w人已加入

描述

Esptool是什么

esptool 是一个开源、官方的命令行工具,主要用于对 乐鑫(Espressif)的 ESP8266/ESP32、系列芯片进行读写固件、编程和调试。它通过串口(UART)与 ESP 设备Bootloader(引导加载程序)进行通信,按照约定的协议发送指令和数据,执行各种底层操作。esptool 是一个 Python 脚本,所以需要先安装 Python。安装后,就可以在命令行中使用 esptool.py 命令。

与其他工具的关系:

Arduino IDE:当您在 Arduino IDE 中点击“上传”按钮时,IDE 实际上是在后台调用了 esptool(或其变种 arduino-esp32 中的工具)来完成固件烧录。您无需手动操作。

PlatformIO:PlatformIO 同样使用 esptool 作为其烧录 ESP 固件的后端工具。

ESP-IDF:乐鑫官方的开发框架 ESP-IDF,其构建和烧录系统也深度集成了 esptool。

ESP-IDF环境安装

点击下载ESP-IDF工具安装器
ESP32
ESP32

安装好后,电脑开始列表中会出现两个ESP-IDF,二选一使用其中一个

ESP32

通过Esptool命令读取备份ESP32/8266内的固件程序

获取ESP的flash大小:

esptool.py flash_id

ESP32
将擦除ESP中flash固件:

esptool.py erase_flash

ESP32
将ESP中 Flash 整个内容备份到指定路径:

esptool.py -p COM218 -b 921600 read_flash 0 0x1000000 "C:Users18748DocumentsDownloadsbackup.bin"

COM218为自己电脑设备管理器中ESP32连接的USB转串口的端口号

b 为串口波特率

0为起始地址,0x1000000为ESP32的flash容量大小为16MB,其他的有0x800000 (8MB),0x400000 (4MB), 0x200000 (2MB)

根据做自己所用的模组实际flash大小填写

backup.bin为备份的文件名,可以自己随便取一个文件名,加上 .bin 后缀,不要去新建,ESP-IDF备份好会自动新建的

双引号为要备份的文件存放到自己电脑的文件夹的路径,根据自己需要随意指定一个文件夹,注意路径后面没有文件名,例如 C:Users18748DocumentsDownloads
ESP32
烧录一个指定文件夹中的固件程序文件到ESP中:

esptool.py -p COM218 -b 460800 write_flash 0 "D:flash_download_toolflash_dumpfc012cd137a0_0x0_0x1000000_20251030_191832.bin"

ESP32
烧录多个指定文件夹中的固件程序文件到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"

ESP32

通过flash_download_tool备份读取ESP32/8266中flash的固件程序

点击下载flash_download_tool软件工具
读取ESP芯片信息、RAM/Flash容量大小
ESP32
读取Flash中固件程序
选择好较大的波特率,加快读取速度,根据读取到的flash容量大小,设置好size的值,0x1000000为ESP32的flash容量大小为16MB,其他的有0x800000 (8MB),0x400000 (4MB), 0x200000 (2MB)。点击Rsad Flash,等待读取完毕,读取到文件会自动弹出,出现在flash_download_tool工具安装目录文件夹下。
ESP32
将读取到固件程序,再烧录到ESP32中验证是否和原来的一致
ESP32

总结

通过以上两种方式,我们了解到如何读取备份一个ESP32/8266中falash内的固件程序。可以看到第二种方式方面快捷。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分