乐鑫技术交流
直播中

人走了

9年用户 894经验值
擅长:制造/封装 光电显示
私信 关注
[问答]

ESP32 SPI闪存通信收到错误信息的原因?如何解决?

我有一个带有外部 Winbond W25Q80DVSNIG 闪存 IC 的 ESP32-D0WD-V3 的定制设计。当尝试将程序闪存到设备上时,我收到此错误消息。

[2/3] cd /Users/brentonyiu/esp/esp-idf/components/esptool_py && /usr/local/Cellar/cmake/3.22.1/bin/cmake -D I...u/esp/projects/hello_world /build -P /Users/brentonyiu/esp/esp-idf/components/esptool_py/run_serial_tool.cmak

esptool.py esp32 -p /dev/tty.usbserial-143101 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 2MB 0x1000 bootloader/bootloader.bin 0x10000 hello_world.bin 0x8000 partition_table/partition-table.bin

esptool.py v3.3-dev

串口/dev/tty.usbserial-143101 正在

连接。 ..........

芯片为 ESP32-D0WD-V3(修订版 3)

特性:WiFi、BT、双核、240MHz、efuse 中的 VRef 校准、编码方案无

警告:检测到的晶体频率 24.65MHz 与归一化频率 26MHz 完全不同。使用不支持的晶体?

Crystal 是 26MHz

MAC:48:55:19:b3:8b:40

正在上传存根...

运行存根...运行存根

...

将波特率更改为 460800

已更改。

警告:与闪存芯片通信失败,读/写操作将失败。尝试检查芯片连接或移除连接到 IO 的任何其他硬件。

配置闪存大小...

闪存将从 0x00001000 擦除到 0x00007fff...

闪存将从 0x00010000 擦除到 0x00039fff...

闪存将从 0x00008000 擦除到 0x00008fff...

压缩 25424 字节到 15903...

发生致命错误:数据包内容传输停止(收到 8 个字节)

CMake error at run_serial_tool.cmake:55 (message):

  /Users/brentonyiu/.espressif/python_env/idf5.0_py3.9_env/bin/python;;/Users/ brentonyiu/esp/esp-idf/components/esptool_py/esptool/esptool.py;--chip;esp32

  失败

FAILED: CMakeFiles/flash /Users/brentonyiu/esp/projects/hello_world/build/CMakeFiles/flash

cd /Users/brentonyiu/esp/esp-idf/components/esptool_py && /usr/local/Cellar/cmake/3.22.1/bin/cmake -D IDF_PATH=/Users/brentonyiu/esp/esp-idf -D "SERIAL_TOOL =/Users/brentonyiu/.espressif/python_env/idf5.0_py3.9_env/bin/python;;/Users/brentonyiu/esp/esp-idf/components/esptool_py/esptool/esptool.py;--chip;esp32" - D "SERIAL_TOOL_ARGS=--before=default_reset;--after=hard_reset;write_flash;@flash_args" -D WORKING_DIRECTORY=/Users/brentonyiu/esp/projects/hello_world/build -P /Users/brentonyiu/esp/esp-idf/ components/esptool_py/run_serial_tool.cmake

ninja:构建停止:子命令失败。

ninja 失败,退出代码为 1

我正在使用双 I/O 设置并将 VDD SDIO 电压设置为 3.3V。
                                
                        
                                          
                        
   我在只运行 ESP32 单元时没有遇到这个问题,但是当我将这些单元焊接到我们设计的电路板上时,我就遇到了问题。我假设引导加载程序可能读取的其中一行现在与单个单独的 ESP32 模块不同。这个问题很奇怪,因为调试器和模块之间的通信足以知道它是什么类型的模块。我会尝试查看更多,如果我能找到解决方案,我会在这里发布给其他人。

更多回帖

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