最近用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设计以及常见的电路中,一般都不会提及这个,因为一个设计的多是开发板,本身不外接设备,第二是复用引脚,打板之前还是需要看官方手册,不能依赖开源设计,容易路径依赖.