PlatformIO ESP32-C3 JTAG调试笔记
PlatformIO ESP32-C3 JTAG调试笔记
ESP32-C3内置了JTAG调试
网上对此教程文章较少,记录一下实现过程
JTAG调试
配置 ESP32-C3 内置 JTAG 接口
ESP32-C3 内置 JTAG 电路,无需任何额外芯片即可调试。只需要一根连接到 D+/D- 引脚的 USB 电缆。
配置硬件
| ESP32-C3 针脚 | USB信号 |
|---|---|
| GPIO18 | D- |
| GPIO19 | D+ |
| 5V | VCC |
| GND | GND |
请确认用于 USB 通信的 ESP32-C3 引脚未连接到其他可能干扰 JTAG 操作的硬件。
配置 USB 驱动程序
安装驱动时候,不要插着设备
JTAG通信应该在所有支持的平台上工作。Windows 用户可能会收到LIBUSB_ERROR_NOT_FOUND错误。请使用 ESP-IDF 工具安装器 2.8 (或更新版本),并选择驱动程序“乐鑫 - WinUSB 支持 JTAG (ESP32-C3/S3)”来解决此问题。如果您不想重新运行安装程序,那么可以通过从PowerShell运行以下命令来使用idf-env实现相同的效果:
Invoke-WebRequest 'https://dl.espressif.com/dl/idf-env/idf-env.exe' -OutFile .\idf-env.exe; .\idf-env.exe driver install --espressif
在 Linux 上,需要添加 OpenOCD udev 规则,方法是将以下 udev 规则文件放在文件夹中来完成。/etc/udev/rules.d

设备详情

如果调试时提示
Error: libusb_open() failed with LIBUSB_ERROR_NOT_FOUND
Error: esp_usb_jtag: could not find or open device!

那么还是驱动有问题,错误的驱动厂商是微软的

配置软件
我使用 VSCode 搭配 platform 插件
在配置文件中调整调试工具platformio.ini
;串口监视波特率
monitor_speed = 115200
;串口监视过滤器 解码异常 颜色展示
monitor_filters = direct, esp32_exception_decoder
;内置调试器 重点是配置这个
debug_tool = esp-builtin
配置好后按下F5就可以看到编译过程,编译完成自动进入调试模式
可以断点查看参数,调试控制台查看日志


其它技巧
编译过慢?
有没有安装360?
编译时杀毒软件CPU飙升

编译十分耗时

关闭杀毒软件后速度会快好几倍

360技术人员远程给看过后添加了开发者模式 CPU占用明显下降 生成时间也短了
我添加了3个目录
- VSCODE目录:
C:\Program Files\Microsoft VS Code - platformio插件目录:
C:\Users\Administrator\.platformio - 项目目录:
C:\Users\Administrator\Documents\PlatformlO
这样操作后CPU占用10-20
关闭进程防护,CPU占用5-8

MENUCONFIG
使用platformio进行开发
运行platformio run -t menuconfig启动菜单
操作:J上翻 K下翻
使用蓝牙
菜单路径
Component config → Bluetooth 要勾选 Bluetooth
Component config → Bluetooth → Bluedroid Options 勾选Enable BLE 4.2 features, 取消Enable BLE 5.0 features

浙公网安备 33010602011771号