A fatal error occurred: MD5 of file does not match data in flash!问题解决

文章讲述了开发者在使用ESP32-S3和Arduino进行开发时遇到烧录错误,经过尝试各种配置和检测,最终发现是由于硬件连接问题(焊接不良和电源回流)导致的MD5校验失败。通过重新焊接和调整电源供应方式解决了问题。
摘要由CSDN通过智能技术生成

采用的芯片是ESP32-S3-WROOM,16MB FLASH

开发环境是Arduino,烧录到100%后直接报错。

以为是Arduino的问题,用esp-idf开发的程序,

烧录的过程中,也是直接报错如下:

esptool.py v4.7.0
Serial port /dev/cu.usbserial-56440166151
Connecting....
Chip is ESP32-S3 (QFN56) (revision v0.2)
Features: WiFi, BLE
Crystal is 40MHz
MAC: c0:4e:30:3e:58:24
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Flash will be erased from 0x00000000 to 0x00005fff...
Flash will be erased from 0x00010000 to 0x00152fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x00208000 to 0x00365fff...
Flash will be erased from 0x00366000 to 0x00734fff...
Compressed 20928 bytes to 13297...
Wrote 20928 bytes (13297 compressed) at 0x00000000 in 0.4 seconds (effective 417.5 kbit/s)...
File  md5: 1366b64025539a31228b2822eaa645b0
Flash md5: 33aeb93e517136b94de9c39cb103909b
MD5 of 0xFF is f6e84a245ec15ff98f659e6f703ad42d

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

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

多吃尝试、修改传输率,修改各种配置,都不行。

网上说执行这个命令:

esptool.py --port /dev/cu.usbserial-56440166151 write_flash_status --non-volatile 0

运行结果如下:

esptool.py v4.7.0
Serial port /dev/cu.usbserial-56440166151
Connecting....
Detecting chip type... ESP32-S3
Chip is ESP32-S3 (QFN56) (revision v0.2)
Features: WiFi, BLE
Crystal is 40MHz
MAC: c0:4e:30:3e:58:24
Uploading stub...
Running stub...
Stub running...
Initial flash status: 0x0200
Setting flash status: 0x0000
After flash status:   0x0200
Hard resetting via RTS pin...

在Setting flash后,After flash status还是没有改变,修改了个寂寞。

所以还是报一样的A fatal error occurred: MD5 of file does not match data in flash!

在网上找了好久,也没有解决办法,头都大了。

于是开始检查硬件本身。

发现焊接有一点点的连锡,

然后立刻重新焊接解决了连锡问题,再次进行烧录。

发现问题依然还在。程序还是烧录不进去。并且发现用

esptool.py erase_flash

擦除flash也擦除不了,感觉像是有了写保护。

继续搜索发现

网上有说到,有些引脚拉高了会有其它含义,如设置供电电压等。

于是乎,赶紧拿万用表每个引脚测量了一下,发现有些引脚上有些电压。

原来我是用USB转串口烧录器上的3.3V电源供电,导致有电压回流,部分引脚回流了电压,导致了这个情况?

立刻尝试不要用USB烧录器的电源供电,直接用板子本身的电源供电,然后果然,

再次烧录程序后,不再报错,程序烧录成功!问题解决!

看来这种大多是硬件上的问题,要仔细检查方可避免和解决。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值