乐鑫技术交流
直播中

小麦地

12年用户 1662经验值
私信 关注
[问答]

自定义ESP32-PICO-D4板无法与内部闪存通信是何原因?

我有一个定制的 EPS32-Pico D4 板用于我的一个项目。板子是第三方开发的,所以没有自己设计板子。我是一名机械工程师,因此 PCB 设计过程超出了我的知识范围。尽管如此,我仍然希望你们愿意帮助我解决我面临的问题。板子本身是PCBway生产组装的,我一共订了10块板子。
问题:
我试图将草图上传到板上,但它总是失败,并在 Arduino 中显示相同的错误消息:
esptool.py v3.0-dev

Serial port /dev/cu.usbserial-0001

Connecting .........._____。

芯片是 ESP32-PICO-D4(修订版 1)

特性:WiFi、BT、双核、240MHz、嵌入式闪存、efuse 中的 VRef 校准、编码方案 None

Crystal 为 40MHz

MAC: 30:83:98:e0:7d:f0

Uploading stub...

Running stub...

Stub running ...

配置闪存大小...

警告:无法自动检测闪存大小(FlashID=0x0,SizeID=0x0),默认为 4MB

压缩 8192 字节为 47...

写入 0x0000e000...(100%)已

写入0.0 秒内 0x0000e000 处的 8192 字节(47 个压缩)(有效 7913.1 kbit/s)...


发生致命错误:等待数据包标头

超时发生致命错误:等待数据包标头超时

- 我尝试了不同的设置:电路板(ESP32 开发模块/ESP32 Pico 套件)、上传速度(115200-921600 波特率)、闪存频率(40/80 Mhz)、闪存模式(QIO/DIO/QOUT/DOUT)。尽管设置不同,错误消息仍然相同。

- 我尝试使用 EN 和 BOOT 按钮程序将微控制器置于启动模式,但没有效果。

- 我检查了闪存通信的所有引脚,所有引脚都是空闲的,这在我附上的原理图中也可见。

- 我尝试在 Mac 和 Windows 上通过 Arduino 对其进行编程,同样的错误仍然存​​在。

- 无论我上传哪个代码,错误信息都是一样的。

- 我对 10 个板中的每一个都有相同的行为,所以我认为这不是装配错误。

- 我还尝试通过终端通过 esp.py 与电路板通信,但输出也给了我一个警告,它无法与闪光灯通信。我附上了终端输出,也许这对任何人都有帮助。

其中建议 GND 焊盘可能是问题所在,但我不知道我的 pcb 是否也是这种情况。我附上了该 pcb 的未组装铂金照片,也许你可以告诉我这是否看起来像 PICO-D4 的正确 GND 连接,因为我无法自己确定。

我也试过联系PCB设计师,但他一直没能找到问题所在,也无法帮助我解决这个问题,所以你是我找到错误的最后希望。我非常愿意学习并尽一切努力来测试或进一步调试问题,但目前我不知道如何从这里开始。请让我知道,如果我能做些什么来帮助找到问题。

                                               

回帖(1)

李雨晨

2023-3-1 17:19:02
您的 GPIO12 已连接到传感器。如果 ESP32 启动时该传感器输出高电平,则 ESP32 使用 1.8V 的内部闪光电压,这不太可能工作。您可以尝试在上传时将其接地,或者使用 espefuse.py 烧保险丝以强制闪光电压为 3.3V。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分