在学习使用ABX00092开发板进行开发的过程中,自己手欠,试着将开发改为ESP32S3 Dev Module方式烧录程序,结果导致开发板进入假死状态。注意这里的假死,有点像板砖的样子,就是及后续什么烧录操作都不好使了。开发板断开连接、重现连接时,板子上的指示灯显示也不正常,程序也不运行,双击复位也无法进入DFU状态。
出现这种情况的原因是:Nano ESP32与普通的ESP32开发板在架构上不同。Arduino Nano ESP32有一套自己专属的DFU引导程序,占用了 USB 接口,并定义了特定的上传协议。当你强制用 ESP32S3 Dev Module 的配置上传时,程序绕过了 Arduino 的框架,直接将一个“标准”的通用固件烧录进去。这个过程会物理覆盖掉 Arduino 原厂的专用引导程序。我的理解就是这两种模式下上传的程序占据的程序入口地址是不一样的。
进入假死状态后,导致开发板在连接电脑时,IDE 通过 Arduino 的 DFU 协议寻找专属设备,但你的板子已经变成了普通的串口设备。想再烧录程序就不可能成功。板载 RGB LED 表现为红蓝LED亮以及USB口旁边的绿色LED长亮。
这个时候,就只能重置开发板了。重置的步骤如下:
1、在Arduino开发环境下选在开发板为Arduino Nano ESP32。
2、短接B1和GND两个引脚。它俩是相邻的。接着按下复位按钮,再松开复位按钮,接着解除B1和GND的短接。此时,RGB LED 应变为 紫色(品红色),表示板子已成功进入下载模式。

3、点击 工具 → 编程器,选择 Esptool(其实就这一个选项)。
4、点击 工具 → 烧录引导程序,开始擦除 Flash。
5、擦除完成后,点击 项目 → 使用编程器上传,开始写入新的 Bootloader。
第5步完成后,按复位键,就会恢复到正常的初始状态了。
我要赚赏金
