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

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

txt 复制代码
报错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。 
txt 复制代码
报错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!
txt 复制代码
报错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管脚的配置有关

市面上常见的esp32s3开源设计用到的flash芯片几乎都是3.3v供电,而我的电路板中,由于GPIO45外接了一个上拉电阻,用于检测输入,正是这个上拉电阻导致的管脚电平发生了变化,使得最后输出的电压不足,无法启动flash,或者电压不够导致flash不稳定

解决办法

单独给flash供电即可

反思设计

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

相关推荐
VekiSon18 小时前
Linux内核驱动——杂项设备驱动与内核模块编译
linux·c语言·arm开发·嵌入式硬件
来自晴朗的明天19 小时前
14、光耦隔离电路(EL3H7)
单片机·嵌入式硬件·硬件工程
G***技19 小时前
杰和IB3-272:以低功耗高性能打造新一代工业智能交互核心
单片机·嵌入式硬件·物联网
MAR-Sky20 小时前
keil5中数据的不同定义和单片机(以stc8为例)里的对应关系(idata,xdata,data,code)
单片机·嵌入式硬件
项目題供诗1 天前
51单片机入门(八)
单片机·嵌入式硬件·51单片机
羽获飞1 天前
从零开始学嵌入式之STM32——9.STM32的时钟系统
stm32·单片机·嵌入式硬件
飞睿科技1 天前
乐鑫智能开关方案解析:基于ESP32-C系列的低功耗、高集成设计
嵌入式硬件·物联网·esp32·智能家居·乐鑫科技
来自晴朗的明天1 天前
13、NMOS 电源防反接电路
单片机·嵌入式硬件·硬件工程
17(无规则自律)1 天前
深入浅出 Linux 内核模块,写一个内核版的 Hello World
linux·arm开发·嵌入式硬件
芯岭技术1 天前
PY32MD310单片机:高性能、低功耗的32位电机控制微控制器
单片机·嵌入式硬件