ESP32 闪烁上传开始并因超时而失败
Posted
技术标签:
【中文标题】ESP32 闪烁上传开始并因超时而失败【英文标题】:ESP32 Flashing upload starts and fails with timeout 【发布时间】:2019-12-27 00:21:54 【问题描述】:我有一个 ESP32-WROOM,as seen here。
在 Arduino IDE 中,我编译并验证了我的草图,然后尝试上传。
我收到以下错误:
esptool.py v2.1
Connecting........___
Chip is ESP32D0WDQ6 (revision (unknown 0xa))
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
Warning: Could not auto-detect Flash size (FlashID=0xffffff, SizeID=0xff), defaulting to 4MB
Compressed 8192 bytes to 47...
A fatal error occurred: Timed out waiting for packet content
A fatal error occurred: Timed out waiting for packet content
Invalid library found in /Users/me/Documents/Arduino/hardware/espressif/esp32/libraries/BLE: no headers files (.h) found in /Users/me/Documents/Arduino/hardware/espressif/esp32/libraries/BLE
Invalid library found in /Users/me/Documents/Arduino/hardware/espressif/esp32/libraries/BLE: no headers files (.h) found in /Users/me/Documents/Arduino/hardware/espressif/esp32/libraries/BLE
我在 IDE 中使用这些设置进行上传:
我将波特率更改为115200,然后还查看了串口监视器,我看到出现以下消息:
ets Jun 8 2016 00:22:57
rst:0x10 (RTCWDT_RTC_RESET),boot:0371
⸮ets Jun 8 2016 00:22:57
rst:0x10 (RTCWDT_RTC_RESET),boot:0x23 (DOWNLOAD_BOOT(UART0/UART1/SDIO_REI_REO_V2))
waiting for download
ts Jun 8 2016 00:22:57
rst:0x1 (POWERON_RESET),boot:0x33 (SPI_FAST_FLASH_BOOT)
flash read err, 1000
ets_main.c 371
ets Jun 8 2016 00:22:57
rst:0x10 (RTCWDT_RTC_RESET),boot:0x33 (SPI_FAST_FLASH_BOOT)
flash read err, 1000
ets_main.c 37⸮ets Jun 8 2016 00:22:57
rst:0x10 (RTCWDT_RTC_RESET),boot:0x23 (DOWNLOAD_BOOT(UART0/UART1/SDIO_REI_REO_V2))
waiting for download
ts Jun 8 2016 00:22:57
rst:0x1 (POWERON_RESET),boot:0x33 (SPI_FAST_FLASH_BOOT)
flash read err, 1000
ets_main.c 371
ets Jun 8 2016 00:22:57
rst:0x10 (RTCWDT_RTC_RESET),boot:0ets Jun 8 2016 00:22:57
rst:0x10 (RTCWDT_RTC_RESET),boot:0x23 (DOWNLOAD_BOOT(UART0/UART1/SDIO_REI_REO_V2))
waiting for download
ts Jun 8 2016 00:22:57
rst:0x1 (POWERON_RESET),boot:0x33 (SPI_FAST_FLASH_BOOT)
flash read err, 1000
ets_main.c 371
ets Jun 8 2016 00:22:57
rst:0x10 (RTCWDT_RTC_RESET),boot:0x33 (SPI_FAST_FLASH_BOOT)
flash read err, 1000
ets_main.c 37ets Jun 8 2016 00:22:57
rst:0x10 (RTCWDT_RTC_RESET),boot:0x23 (DOWNLOAD_BOOT(UART0/UART1/SDIO_REI_REO_V2))
waiting for download
ts Jun 8 2016 00:22:57
rst:0x1 (POWERON_RESET),boot:0x33 (SPI_FAST_FLASH_BOOT)
flash read err, 1000
ets_main.c 371
(SPI_FAST_FLASH_BOOT)
flash read err, 1000
ets_main.c 371
⸮ets Jun 8 2016 00:22:57
rst:0x10 (RTCWDT_RTC_RESET),boot:0x23 (DOWNLOAD_BOOT(UART0/UART1/SDIO_REI_REO_V2))
waiting for download
ts Jun 8 2016 00:22:57
接下来是:
esptool.py v2.1 正在连接........ ._____.....______.....____上传草图时出错 _
发生致命错误:无法连接到 ESP32:在 Arduino IDE 上等待数据包头超时。
请帮助我了解我需要做什么才能将此草图上传工作直接到 ESP 芯片。
【问题讨论】:
尝试降低波特率 我将其更改为 115200 但我得到了相同的行为。 检查连接,尝试使用不同的电缆连接不同的 USB 端口 @RenegadeAndy 你解决了这个问题吗?你检查过esp32保险丝吗?我对 esp32 板也有同样的问题,我怀疑是保险丝。 【参考方案1】:您需要断开 Vin 引脚,直到代码成功上传,并在上传草图时按住BOOT 按钮,直到连接..线消失。
【讨论】:
【参考方案2】:您可以通过在 EN 和 GND 之间连接一个 10uF 电解电容使 ESP32 自动进入 flash 模式。 确保观察电容器的极性。 您可以将电容器焊接到 ESP32 板上,如附图所示。 How to add an auto-enter-flash-mode capacitor on an ESP32
信用应该去 Make ESP32 auto-enter flash mode
【讨论】:
【参考方案3】:您需要 115200 波特设置。
我相信您收到此错误是因为 ESP32 未处于闪存模式。您的计算机正在等待 ESP32 超时。
Connecting........_____....._____....._____....._____....._____....._____....._____....._____....._____.....____An error occurred while uploading the sketch _
同时按住 BOOT 和 EN,然后松开 EN。如果您的设备上有两个按钮,请按住一个并按下另一个。如果这不起作用,请尝试其他按住/按下按钮组合:)
【讨论】:
我不确定,我收到 DOWNLOAD_BOOT 消息,当我观看串行监视器时,它说正在等待下载。这对我来说说它处于正确的启动模式。我没有使用开发板,它只是 esp32-wroom-32 直接 我不确定抱歉。我离开了 Arduino IDE,直接使用ESP-IDF 作为组件使用Arduino-ESP。我不确定这是否会有所帮助。 这就是现在使用 esp32 的战略方式吗? @RenegadeAndy 对于任何重要的项目,我建议通过 ESP-IDF 和 Arduino-ESP 作为组件工作。我在 ESP32 论坛上阅读过类似的建议。 Arduino IDE 有一点学习曲线,但作为回报,您可以获得很多控制权。 亚历克斯是正确的。如果您使用的是 ESP32 开发板之一,则需要一根 FTDI 电缆,除非您想自己手动操作 EN 和 IO0 线。【参考方案4】:我在自定义板上遇到了同样的问题。根据数据表将 ESP32 置于下载模式,您需要将 IO2(n24) 和 IO0(25) 设置为 0,在我的情况下,我有一些传感器连接到 IO2 。 同样来自数据表:" * 引脚 SCK/CLK、SDO/SD0、SDI/SD1、SHD/SD2、SWP/SD3 和 SCS/CMD,即 GPIO6 到 GPIO11 已连接 到模块上集成的集成SPI flash,不推荐用于其他用途。”
【讨论】:
以上是关于ESP32 闪烁上传开始并因超时而失败的主要内容,如果未能解决你的问题,请参考以下文章