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飙升

任务管理器查看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

降低防护后耗时

使用platformio进行开发

运行platformio run -t menuconfig启动菜单

操作:J上翻 K下翻

使用蓝牙

菜单路径

Component configBluetooth 要勾选 Bluetooth

Component configBluetoothBluedroid Options 勾选Enable BLE 4.2 features, 取消Enable BLE 5.0 features

posted @ 2023-06-17 17:51  IT老大哥  阅读(1564)  评论(2编辑  收藏  举报