欠压复位 + 启动绑带脚采样异常”叠加导致芯片进了下载模式。rst:0xf (BROWNOUT_RST) 表示发生了 brownout reset,也就是电源电压瞬时或持续跌到了安全阈值以下;Espressif 对 brownout 的说明也是这个含义,根因始终指向供电跌落,常见处理就是检查电源稳定性、USB 线、以及模块电源端的去耦/储能。

boot:0x0 (USB_BOOT)wait usb download 表示它没有正常从 Flash 启动,而是掉进了 ROM 下载路径。ESP32-C3 的启动模式由 GPIO2/GPIO8/GPIO9 这些 strapping pin 在复位时采样决定;正常 SPI Boot 需要 GPIO9 为高,Joint Download Boot 需要 GPIO8=1、GPIO9=0。Boot log 里 0x04 对应 GPIO8、0x08 对应 GPIO9,所以 boot:0x0 说明复位采样那一刻 GPIO8、GPIO9 都没有被采到高电平,这已经不是正常开机状态了。官方硬件设计指南还特别提醒:GPIO9 建议加上拉,且不要在 GPIO9 上挂大电容,否则芯片可能进入下载模式;另外这些 strapping pin 在 CHIP_EN 拉高后还有采样保持时间要求。

所以,最常见的触发原因有这几个:

  1. 3.3V 供电掉压:上电瞬间、Wi-Fi/BLE 启动瞬间、USB 线压降、LDO 带载不足、主电源储能不够,都会先触发 brownout,再把启动脚电平采样搞乱。官方也提到慢上电/慢掉电、频繁上下电、不稳定电源都会导致启动异常。
  2. GPIO9 被外部拉低或拉不稳:比如 BOOT 按键电路、USB-UART 自动下载电路、外接器件占用了 GPIO9、漏电、弱上拉不够、线过长被干扰。官方建议 GPIO9 要有上拉。
  3. GPIO8 也被拖低了:因为你的 boot:0x0 不是只有 GPIO9 低,GPIO8 也被采到了低电平,所以还要排查 GPIO8 外挂的 LED、外设、分压、电容、测试夹具。
  4. EN/复位时序有问题:EN 上升太慢、RC 复位网络不合适、上电时 strapping pin 在采样窗口内还没稳定,也会误进下载模式。官方给了 strapping pin 的 setup/hold 要求。

如果这是偶发上电才出现,我建议你优先按这个顺序查:先看 3.3V 是否有跌落,再看 GPIO9,再看 GPIO8,最后看 EN 时序。通常这种现象,80% 以上先从电源和 GPIO9/8 外围电路就能找到原因

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐