跳到主要内容

如何断点调试项目

首先切换到 JTAG 模式

首先选择这里的芯片设置

alt text

然后会弹出三个选项

alt text

下面是对这三个选项的说明

1. UART(常用的烧录方式)

  • 原理:ESP32 内部的 Bootloader 可以通过串口(UART0 通道,也就是常说的 TX/RX)进行固件下载。
  • 硬件需求:只需要一个 USB 转串口芯片 (CP2102、CH340 等),一般开发板自带。
  • 优点:
    • 最常见、最稳定的烧录模式。
    • ESP-IDF 和 Arduino 都默认使用。
  • 缺点:
    • 速度比不上 JTAG。
    • 只能写入固件,不能直接调试单步执行。

👉 如果你只是要“烧录程序”,选 UART 就行。

2. JTAG(主要用于调试)

  • 原理:JTAG 是一个硬件调试接口,相当于给芯片内部一个“远程控制器”,可以控制每一步执行。
  • 硬件需求:需要 JTAG 调试器(如 ESP-Prog),连接到 ESP32 的专用 GPIO。
  • 优点:
    • 可以做断点、单步执行、寄存器/内存查看,非常适合开发者调试复杂应用。
    • 传输速度比 UART 更快。
  • 缺点:
    • 硬件搭建复杂,不像 UART 一根 USB 就能烧。
    • 一般不用于日常烧录,主要用于 开发+调试。

3. DFU(Device Firmware Upgrade 模式)

  • 原理:DFU 是一种标准的 USB 协议,用来直接通过 USB 升级固件。
  • 情况:
    • ESP32 原版芯片(ESP32、ESP32-WROOM-32)本身没有原生 USB,只能通过 USB 转串口。
    • 但一些新款 ESP 系列(比如 ESP32-S2、ESP32-S3、ESP32-C3)带原生 USB OTG 控制器,就可以支持 DFU 升级。
  • 优点:
    • 不需要额外的 USB 转串口芯片。
  • 缺点:
    • 要选择支持 USB DFU 的芯片型号才能用。
    • 驱动和工具链兼容性可能比 UART 略差。

开始断点调试

然后启动 debug 调试

alt text

可能需要先编译一下

然后就可以断点成功了

alt text