0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

jf_88434166 来源:jf_88434166 2025-11-30 15:52 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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工具安装器
在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

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

获取ESP的flash大小:

esptool.py flash_id

在这里插入图片描述
将擦除ESP中flash固件:

esptool.py erase_flash

在这里插入图片描述
将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
在这里插入图片描述
烧录一个指定文件夹中的固件程序文件到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的固件程序

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

总结

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

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

    关注

    58

    文章

    4884

    浏览量

    90299
  • 固件程序
    +关注

    关注

    0

    文章

    2

    浏览量

    1489
  • ESP32
    +关注

    关注

    27

    文章

    1222

    浏览量

    22320
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ESP32-C2 ESP8684芯片AT固件使用

    ESP32-C2 ESP8684芯片AT固件使用
    的头像 发表于 07-27 13:48 5831次阅读
    <b class='flag-5'>ESP32</b>-C2 <b class='flag-5'>ESP</b>8684芯片AT<b class='flag-5'>固件</b>使用

    ESP32ESP8266基于Arduino的MQTT收发资料说明

    本文档的主要内容详细介绍的是ESP32ESP8266基于Arduino的MQTT收发资料说明。
    发表于 01-24 08:00 113次下载
    <b class='flag-5'>ESP32</b>和<b class='flag-5'>ESP8266</b>基于Arduino的MQTT收发资料说明

    如何帮助ESP8266系列模组烧录固件ESP8266固件烧录说明

    ESP FLASH TOOL是Espressif官方开发的烧录工具,用户可根据实际的编译方式和Flash的容量,将SDK编译生成的多个bin文件-键烧录到ESP8266/ESP32的SPI Flash中。
    发表于 04-25 08:00 9次下载
    如何帮助<b class='flag-5'>ESP8266</b>系列模组烧录<b class='flag-5'>固件</b><b class='flag-5'>ESP8266</b><b class='flag-5'>固件</b>烧录说明

    制作 NodeMCU ESP32 自定义固件

    最近尝试在 Mac 下制作 nodemcu ESP32 的自定义固件。本文就来介绍nodemcu ESP32 自定义固件的编译、烧写、测试的全部过程。准备
    发表于 10-28 09:40 22次下载
    制作 NodeMCU <b class='flag-5'>ESP32</b> 自定义<b class='flag-5'>固件</b>

    ESP32 开发之旅② Arduino For ESP32说明

    文章目录1. Arduino Core For ESP32是什么?2.Arduino core for ESP32库3.与ESP8266库类比3.1 WiFi —— ESP8266
    发表于 11-13 19:51 33次下载
    <b class='flag-5'>ESP32</b> 开发之旅② Arduino For <b class='flag-5'>ESP32</b>说明

    arduino / VScode+platformIO搭建esp32/esp8266编译环境(一篇足矣)

    arduino/VScode+platformIO 搭建esp32/esp8266开发环境(一篇足矣)前言:入门开源硬件开发,在搭建编译环境的时候碰了一脸灰,特意写下此博客,以供参考!制作不易,来个
    发表于 12-05 14:06 35次下载
    arduino / VScode+platformIO搭建<b class='flag-5'>esp32</b>/<b class='flag-5'>esp8266</b>编译环境(一篇足矣)

    简单的ESP32ESP8266编程器

    电子发烧友网站提供《简单的ESP32ESP8266编程器.zip》资料免费下载
    发表于 07-22 09:43 7次下载
    简单的<b class='flag-5'>ESP32</b>和<b class='flag-5'>ESP8266</b>编程器

    ESP8266/ESP32自动下载原理

    前一段时间需要自己制作一片ESP32单板,成本和封装考虑,计划选择CH340E作为USB转串口芯片,ESP8266/ESP32的单板一般都有自动下载电路,用户无需按钮即可令单板自动进入下载模式实现
    的头像 发表于 10-10 15:06 7288次阅读

    ESP32C2如何使用AT固件

    ESP32C2如何使用AT固件
    的头像 发表于 12-12 13:58 4465次阅读
    <b class='flag-5'>ESP32</b>C2如何使用AT<b class='flag-5'>固件</b>

    ESP8266ESP32上的WiFi Webradio

    电子发烧友网站提供《ESP8266ESP32上的WiFi Webradio.zip》资料免费下载
    发表于 06-13 11:38 2次下载
    <b class='flag-5'>ESP8266</b>或<b class='flag-5'>ESP32</b>上的WiFi Webradio

    灵活的ESP8266ESP32初始设备配置

    电子发烧友网站提供《灵活的ESP8266ESP32初始设备配置.zip》资料免费下载
    发表于 06-19 16:15 2次下载
    灵活的<b class='flag-5'>ESP8266</b>和<b class='flag-5'>ESP32</b>初始设备配置

    启明云端分享|盘点Esp32-C3与Esp8266 的区别

    ESP8266&ESP32-C3硬件区别从上表可以看出ESP32-C3和ESP8266在硬件上的区别:1.ESP32-C3搭载RISC-V3
    的头像 发表于 10-12 18:31 7481次阅读
    启明云端分享|盘点<b class='flag-5'>Esp32</b>-C3与<b class='flag-5'>Esp8266</b> 的区别

    esp8266esp32区别是什么

    以下是关于ESP8266ESP32的主要区别: 处理器和架构 : ESP8266 :使用一个Tensilica L106 80MHz的处理器,属于Xtensa架构。 ESP32 :使
    的头像 发表于 08-19 18:16 9194次阅读

    esp32esp8266代码共用吗

    本文将介绍ESP32ESP8266两款流行的微控制器在代码共用性方面的可能性与差异性。 一、引言 随着物联网技术的飞速发展,越来越多的智能设备开始进入我们的生活。其中,ESP32ESP82
    的头像 发表于 08-19 18:23 3349次阅读

    ESP32/ESP8266开发板单向一对多ESP-NOW无线通信

    通过ESP-NOW无线通信协议实现ESP32开发板向多个ESP32/ESP 8266开发板发送数据。
    的头像 发表于 03-13 09:23 281次阅读
    <b class='flag-5'>ESP32</b>/<b class='flag-5'>ESP8266</b>开发板单向一对多<b class='flag-5'>ESP</b>-NOW无线通信