侧边栏壁纸
博主头像
Embedded General Store 博主等级

长安乐,多喜宁

  • 累计撰写 29 篇文章
  • 累计创建 3 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

解决ESP出现MD5报错或验证芯片bug

Administrator
2026-01-06 / 0 评论 / 0 点赞 / 8 阅读 / 0 字

最近用esp32s3打了一块板回来,但是在烧录程序的时候发现不管怎么样都无法烧录,分别出现了以下报错

报错1:

esptool.py v4.10.0
Serial port COM20
Connecting.........
Chip is ESP32-S3 (QFN56) (revision v0.2)
Features: WiFi, BLE
Crystal is 40MHz
MAC: 10:51:db:40:2a:cc
Uploading stub...
Running stub...
Stub running...

A fatal error occurred: Unable to verify flash chip connection (No serial data received.).

 *  终端进程已终止,退出代码: 2。 
报错2:

changed.
configuring flash size...
Flash will be erased from 0x00000000
to 0x00005fff.
Flash will
be erased from 0x00010000 to 0x00074fff...
Flash will be erased from 0x00008000 to 0x00008fff.
:lash will be erased from 0x00490000 to 0x00491fff...
SHA digest in image updated
ompressed 21632 bytes to 13319..
Nriting at 0x00000000...(100 %)
Nrote 21632 bytes (13319 compressed)at 0x00000000 in 1.4 seconds (effective 125.6 kbit/.
ile md5:578e800a20d3f29f3688cd377226e036
lash md5:cf7e8f63bda3bc0cad202ceed842dcee
D5 of 0xFF is c857ce126cfc39f13655ea4210c4d566
fatal error occurred: MD5 of file does not match data in flash!

报错3:
invalid header: 0xffffff1f
invalid header: 0xffffff1f
invalid header: 0xffffff1f
invalid header: 0xffffff1f
invalid header: 0xffffff1f
invalid header: 0xffffff1f
invalid header: 0xffffff1f
invalid header: 0xffffff1f
invalid header: 0xffffff1f
invalid header: 0xffffff1f
invalid header: 0xffffff1f
invalid header: 0xffffff1f

查阅官方手册,最终经过排查发现,以上错误都指向同一个错误,flash供电电压不足
在官方手册中,提到VDD_SPI电源可以用作给flash和psram芯片供电,也推荐这样做,但是查看硬件设计手册,里面提到,VDD_SPI电源的电压和GPIO45管脚的配置有关
8604d0d9-f8b2-4adf-93c3-09b8b54c5933.png
市面上常见的esp32s3开源设计用到的flash芯片几乎都是3.3v供电,而我的电路板中,由于GPIO45外接了一个上拉电阻,用于检测输入,正是这个上拉电阻导致的管脚电平发生了变化,使得最后输出的电压不足,无法启动flash,或者电压不够导致flash不稳定

解决办法

单独给flash供电即可

反思设计

这件事也给了我一个反思,在常见的开源esp32s3设计以及常见的电路中,一般都不会提及这个,因为一个设计的多是开发板,本身不外接设备,第二是复用引脚,打板之前还是需要看官方手册,不能依赖开源设计,容易路径依赖.

0

评论区