使用esptool工具备份ESP32的固件(从芯片中备份下来固件)
本文以Windows电脑为例
板子为esp32-c3
1下载python
可在官网中下载,此处不进行讲解
使用如下代码查看是否安装了 Python(终端输入)
python

2下载esptool
在终端输入如下代码即可下载
使用 pip(推荐): 在你已经安装的 Python 和 pip(Python 包管理器),通过运行以下命令来安装 esptool:
pip install esptool
安装成功
在python的目录下可以看到
我的python的目录
C:\Users\zhi_geng_niao\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\Scripts
看到的

3添加环境
在设置中(高级系统设置)

环境变量

如图选项在编辑

在点击新建,将刚才的路径复制进去即可

3使用esptool
找到终端以管理员权限打开


通过usb插上esp32
可在设备中看到esp32已经连接

实例1查看ESP的信息
输入如下代码
格式
esptool --port <串行端口> chip_id
我输入的
esptool --port COM3 chip_id
结果(就不全部截图了,截了一些)

一般信息
esptool.py v3.0
Serial port /dev/ttyUSB0
Connecting....
Chip is ESP8266
Features: WiFi
Crystal is 26MHz
MAC: 5c:cf:7f:1c:xx:xx
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 115200
Changed.
MAC: 5c:cf:7f:1c:xx:xx
Chip ID: 0x00123456
esptool.py v3.0
串行端口 /dev/ttyUSB0
正在连接....
芯片是 ESP8266
功能:WiFi
晶体频率是 26MHz
MAC 地址:5c:cf:7f:1c:xx:xx
正在上传stub...
正在运行stub...
Stub正在运行...
正在改变波特率到 115200
已改变。
MAC 地址:5c:cf:7f:1c:xx:xx
芯片 ID:0x00123456
实例2获取芯片的闪存大小
输入如下代码
格式
esptool.py --port <串口号> flash_id
实例
esptool --port COM3 flash_id
可以看到我的为4MB
![]()
实例3实现备份固件
代码格式‘
esptool.py --chip esp32c3 --port <串行端口> read_flash <起始地址> <结束地址或大小> <完整备份文件路径>
--chip esp32c3 指芯片类型 :--chip 类型
<串行端口>: 替换为你的设备连接的串行端口号,例如/dev/ttyUSB0(Linux 或 macOS)或COM1(Windows)。<起始地址>: 替换为你想要开始读取的闪存地址,通常固件从地址0x0开始。<结束地址或大小>: 替换为你想要读取的闪存结束地址或数据大小。如果你知道固件的大小,可以直接使用大小,例如0x400000表示读取4MB的数据。<完整备份文件路径>: 替换为你想要保存的备份文件的完整路径,包括文件名。例如,/path/to/backup/firmware_backup.bin或C:\path\to\backup\firmware_backup.bin。
只写文件名会下载到当前终端的位置下
我的输入
esptool --chip esp32c3 --port COM3 read_flash 0x0 0x400000 esp32-c3_firmware_backup.bi
n

会下到
C:\Users\zhi_geng_niao\Desktop\nh>的地址中

实例4将固件烧入板子中
注意
在 ESP32-C3 芯片上,固件通常是从地址 0x1000 开始烧录的。这是 ESP32-C3 芯片的一个约定,用于保留芯片的启动代码和必要的信息。因此,如果你已经下载了一个固件文件,并且想要将其烧录到 ESP32-C3 芯片中,你应该从地址 0x1000 开始烧录。
代码格式
esptool.py --chip <芯片类型> --port <串行端口> write_flash <起始地址> <固件文件> [<分区表文件>]
实例(因为刚才备份时的开始地址是0x0所以这里为0x0)
esptool --chip esp32c3 --port COM3 write_flash 0x0 esp32-c3_firmware_backup.bin
相关文章:
使用esptool工具备份ESP32的固件(从芯片中备份下来固件)
本文以Windows电脑为例 板子为esp32-c3 1下载python 可在官网中下载,此处不进行讲解 使用如下代码查看是否安装了 Python(终端输入) python 2下载esptool 在终端输入如下代码即可下载 使用 pip(推荐): 在你已经安装的 Pyth…...
JS进阶-解析赋值
学习目标: 掌握解析赋值 学习内容: 解构赋值数组解构对象解构筛选数组filter方法(重点) 解构赋值: 解构赋值是一种快速为变量赋值的简洁语法,本质上仍然是为变量赋值。 分为: 数组解构对象解…...
Java虚拟机面试题汇总
目录 1. JVM的主要组成部分及其作用? 1.1 运行时数据区划分? 1.2 哪些区域可能会发生OOM? 1.3 堆和栈的区别? 1.4 内存模型中的happen-before是什么? 2. HotSpot虚拟机对象创建流程? 2.1 类加载过程…...
C++休眠的方法
Windows的API函数 Sleep(INFINITE); 休眠时间为永久 Linux的API函数sleep 没有直接表示无限时间的参数,根据POSIX标准,sleep() 函数的参数应该是 unsigned int 类型,因此最大可以接受的参数值是 UINT_MAX,即 4294967295 秒。sleep…...
选择排序(C语言版)
选择排序是一种简单直观的排序算法 算法实现 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。 再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。 重复第二步&…...
基于CentOS Stream 9平台搭建FRP内网穿透
内网穿透方法很多,本文以github上很火的frp为例 1.frp官方 文档:https://gofrp.org/zh-cn/docs/overview/ 1.1 下载 https://github.com/fatedier/frp/releases 选中合适的版本 2. 服务端(服务器)搭建frps 需要公网IP服务器 选…...
Redis管理禁用命令
在redis数据量比较大时,执行 keys * ,fluashdb 这些命令,会导致redis长时间阻塞,大量请求被阻塞,cpu飙升,严重可能导致redis宕机,数据库雪崩。所以一些命令在生产环境禁止使用。 Redis 禁用命令…...
RFID智能锁控系统在物流安全运输中的应用与效益分析
一、物流锁控系统现状与挑战 1.1 传统锁控系统的局限性 安全性不足:机械锁容易被撬开或钥匙被复制,导致货物在运输过程中面临被盗风险。 无法实时追踪:一旦货物离开发货点,物流公司无法实时监控货物状态,增加了货物…...
WPF设置全局样式
目的 创建一个资源字典,自动引入到各个Window或者UserControl中,可以随意使用。或者引入多个控件包,为了做兼容,保证可以引用多个控件库。 1. 定义资源字典 首先,你需要创建一个XAML文件来定义你的资源字典…...
【福利】代码公开!咸鱼之王自动答题脚本
转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~ 微信或QQ打开咸鱼之王小程序,进入答题界面,运行main.py。期间不要动鼠标。 可自行更改代码来适配自己的需求~ 可以按照示例图片…...
ChatGPT-4o大语言模型优化、本地私有化部署、从0-1搭建、智能体构建技术
在过去几年中,人工智能领域的发展迅猛,尤其是大语言模型的应用,为各行各业带来了前所未有的创新与突破。从ChatGPT-3.5的推出到GPT Store的上线,再到最新的多模态交互ChatGPT-4o,OpenAI不断引领科技潮流,推…...
使用clion刷leetcode
如何优雅的使用clion刷leetcode 安装插件:LeetCode Editor) 插件配置: 这样我们每打开一个项目,就会创建类似的文件 我们的项目结构: 我们在题解文件中导入头文件myHeader.h并将新建的文件添加到cmakelists.txt文件,…...
图解HTTP(5、与 HTTP 协作的 Web 服务器 6、HTTP 首部)
5、与 HTTP 协作的 Web 服务器 一台 Web 服务器可搭建多个独立域名的 Web 网站,也可作为通信路径上的中转服务器提升传输效率。 用单台虚拟主机实现多个域名 在相同的 IP 地址下,由于虚拟主机可以寄存多个不同主机名和域名的 Web 网站,因此…...
JS之防抖和节流
防抖 (debounce) 所谓防抖,就是指触发事件后在 n 秒内函数只能执行一次,如果在 n 秒内又触发了事件,则会重新计算函数执行时间。 ps: 重置普攻,百度翻译要输完停止一定时间后才翻译。 没有防抖和节流的缺点: 函数触发…...
Open3D 点云PCA算法配准(粗配准)
目录 一、概述 1.1PCA配准的原理 1.2PCA配准的应用 二、代码实现 三、实现效果 3.1原始点云 3.2配准后点云 3.3变换矩阵 一、概述 PCA(Principal Component Analysis,主成分分析)是一种用于降维和特征提取的统计方法。在点云处理中,PCA可以用于点云配准(a…...
Transformer中的编码器和解码器结构有什么不同?
Transformer背后的核心概念:注意力机制;编码器-解码器结构;多头注意力等; 例如:The cat sat on the mat; 1、嵌入: 首先,模型将输入序列中的每个单词嵌入到一个高维向量中表示&…...
【深度学习】第5章——卷积神经网络(CNN)
一、卷积神经网络 1.定义 卷积神经网络(Convolutional Neural Network, CNN)是一种专门用于处理具有网格状拓扑结构数据的深度学习模型,特别适用于图像和视频处理。CNN 通过局部连接和权重共享机制,有效地减少了参数数量&#x…...
fluwx插件实现微信支付
Flutter开发使用fluwx插件实现微信支付,代码量不多,复杂的是安卓和iOS的各种配置。 在 pubspec.yaml 文件中添加fluwx依赖 fluwx: ^4.5.5 使用方法 通过fluwx注册微信Api await Fluwx().registerApi(appId: wxea7a1c53d9e5849d, universalLink: htt…...
k8s核心操作_Deployment的扩缩容能力_Deployment自愈和故障转移能力---分布式云原生部署架构搭建022
然后我们上面说了k8s中的deployment的多副本能力 然后,我们再来看 k8s中的deployment的扩缩容能力 可以看到,对于扩容,要使用 kubectl scale 命令 对于缩容 要使用kubectl scale 命令都是使用这个命令对吧 来试试,可以看到上面命令 首先看看 kubectl get pod 可以看到有…...
P8306 【模板】字典树
题目描述 给定 n 个模式串 s1,s2,…,sn 和 q 次询问,每次询问给定一个文本串 ti,请回答 s1∼sn 中有多少个字符串 sj 满足 ti 是 sj 的前缀。 一个字符串 t 是 s 的前缀当且仅当从 s 的末尾删去若干个(可以为 0 个&#…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...
接口自动化测试:HttpRunner基础
相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型…...
宇树科技,改名了!
提到国内具身智能和机器人领域的代表企业,那宇树科技(Unitree)必须名列其榜。 最近,宇树科技的一项新变动消息在业界引发了不少关注和讨论,即: 宇树向其合作伙伴发布了一封公司名称变更函称,因…...
计算机基础知识解析:从应用到架构的全面拆解
目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...
