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