news 2026/6/24 10:34:34

ESP32关于MD5验证失败

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ESP32关于MD5验证失败

我最近在移植一套esp32程序,因为在S3上面跑起来很吃力,于是换成了乐鑫官方新出品得P4,但是烧录官方小demo---hello world时,出现了MD5验证失败的报错。

Writing 'bootloader/bootloader.bin' at 0x00002000...

SHA digest in image updated. Flash will be erased from 0x00002000 to 0x00007fff...

Wrote 24000 bytes (14674 compressed) at 0x00002000 in 0.1 seconds (2220.3 kbit/s). Input MD5: 8e8afb41f2e50c0cb8c737041e215c55 Flash

MD5: 9aa1578b5c18bc6c41323ed38c390b02

Hard resetting via RTS pin...

A fatal error occurred: MD5 of file does not match data in flash!

问AI,说的时flush电压不足,数据线有问题等这些硬件问题。

使用乐鑫官方的下载器,

结果还是一样的问题。

于是我尝试清空flush

这里可以看到flush已经成功被清空了的,于是我重新编译,下载。

菩萨保佑一下吧。

还是不成功!!!

老天,如果我有罪,请打电话告诉我。

看来不是硬件的问题,那有没有可能是程序的问题呢?

可以一个循环打印

能有什么错呢。

于是我上了csdn一查到底,大家遇到这个问题怎么做的呢

有连锡的,有供电电压不足的等等等等。。。。

我反复查看并没有连锡漏焊搭错线,电表打了电压也正常,其他的也不符合我这个场景。

资源好少哦,我之前很少接触到esp32的芯片,有点 犯难。

遇事不决,问AI。

但不知道是我关键字不对还是ai太笨,结果跟之前还是一样。

于是换了一个方向,就找flush。

查了手册,翻了官方的Q&A.

原来有两种烧录模式:Stub flasher(默认模式)和--no-stub模式

  1. Stub flasher(默认模式):通过芯片的 SPI 控制器写入 →写入失败(MD5 不匹配)
  2. --no-stub模式:使用 ROM bootloader 的原始写入程序 →写入成功(Hash verified

而我使用的芯片为ESP32P4的v1.3版本。

直接在控制台输入

idf.py -p COM21 flash --no-stub

成功了,烧录进去了,但是我这个会不断重启。

原来是时钟初始化总是崩溃。

v1.3 芯片可能不支持 400MHz CPU 频率。需要改到360MHz

具体的原因是:

32MB Flash 与 esptool stub flasher 不兼容

Stub flasher(默认模式)是上传到芯片 RAM 的一个小程序,它通过芯片的 SPI 控制器来写 Flash。但它对>16MB 的 Flash 支持不完善——能擦除,但写入时数据实际没写进去,校验自然失败。

--no-stub模式直接调用芯片 ROM 中固化的烧录程序,这些程序能正确处理 32MB Flash,所以写入和校验都成功。

至此,程序已经能正确烧写到板子能正常运行了。

但是还是有很多地方不是很理解,以后都得这样操作一遍吗,不利于记忆,长记性。

于是我深度挖掘。

第一步,打开配置器,

第二步:将安全下载关闭,保存

接下来是设置芯片版本,官方默认是最新的版本,V3.0以上。

我使用的是上一代的版本,为V1.3。

在终端输入 idf.py menuconfig

进入如下界面

选择Component config

选择Hardware Settings

选择Chip revision

移到图表所示,按空格选中,根据自己手上的芯片版本进行选择

再设置最小版本支持

最后按 s 保存 ,q 退出。

重新编译,下载。

成功。

正确打印。

谢谢哦~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/24 10:30:56

本地模型当 Copilot,VSCode 插件联动实战

把 Copilot 装进本地:VSCode 联动实战 以前用云端的代码助手,心里总有点不踏实。尤其是处理公司内部的核心逻辑,或者调试一些涉及敏感配置的脚本时,把代码片段上传到第三方服务器总觉得像是在“裸奔”。最近折腾了一下 AMD Strix …

作者头像 李华
网站建设 2026/6/24 10:29:54

Ansible:一台机器管所有服务器的自动化利器

文章目录Ansible:一台机器管所有服务器的自动化利器Ansible:一台机器管所有服务器的自动化利器 Ansible 是 Red Hat 赞助的开源 IT 自动化工具,目前斩获了 68,868 个 Star: Ansible 的核心定位是用一条命令管理成百上千台服务器。…

作者头像 李华
网站建设 2026/6/24 10:29:24

六月多雨并非偶然:副高、季风与梅雨的共同作用

六月降水频发的气候成因与气象机制解析 每年进入六月,我国中东部及南方地区普遍进入降水集中期,降雨日数增多、过程频繁、局地雨势偏强,该现象是东亚季风环流季节性调整的典型结果。本文数据、判定标准均引自国家气候中心、中国气象局、气…

作者头像 李华
网站建设 2026/6/24 10:28:08

RabbitMQ的Java入门示例代码

以下是基于原生 Java 客户端(amqp-client)的 RabbitMQ 入门示例代码。为了保持代码清晰,我们将分为‌连接工具类‌、‌简单模式(Hello World)‌和‌工作队列模式(Work Queues)‌三个部分。 1. 前置准备 在运行代码前,请确保已在 pom.xml 中引入 RabbitMQ 客户端依赖:…

作者头像 李华
网站建设 2026/6/24 10:23:27

3步搞定网页图片格式转换:Save Image as Type终极指南

3步搞定网页图片格式转换:Save Image as Type终极指南 【免费下载链接】Save-Image-as-Type Save Image as Type is an chrome extension which add Save as PNG / JPG / WebP to the context menu of image. 项目地址: https://gitcode.com/gh_mirrors/sa/Save-I…

作者头像 李华
网站建设 2026/6/24 10:22:07

前n项求和

前n项求和 f(n)1121314...1nf(n) 1 \frac{1}{2} \frac{1}{3} \frac{1}{4} ... \frac{1}{n}f(n)121​31​41​...n1​ int main() {int n;int i;double sum 0.0;scanf("%d", &n);for (i1 ; i<n ;i ){sum 1.0/i;}printf("%f"\n, sum); return…

作者头像 李华