|
本篇文章主要介绍了如何为基于RISC-V内核的ESP32-C3器件创建一个基本项目,以及如何使用JTAG对其进行调试。我们将展示ESP32-C3-DevKitM开发板上所有必要的接线,以及配置软件所需的步骤。
ESP32-C3芯片包含自己的片上USB-to-JTAG引擎,因此可以通过将辅助USB电缆连接到特殊的调试USB引脚(选项A)来进行调试。或者,也可以使用外部JTAG探针(选项B)进行调试,但需要此处描述的额外设置。
为了使用内置JTAG引擎调试ESP32-C3,您需要使用辅助USB电缆并连接它连接到开发板上的以下引脚: USB信号 | 典型线材颜色 | ESP32-C3信号名称 | ESP32-C3-DevKitM引脚名称 | D- | 白色 | GPIO18 | J3.13 | D+ | 绿色 | GPIO19 | J3.14 | V_BUS | 红色 | 5V | J1.13或J1.14 | GND | 黑色 | GND | J1.15 |
连接完成后的设置如下所示:
请注意,由于辅助USB连接也为电路板供电,因此您无需将另一根电缆连接到主USB连接器。
如果您想使用外部USB-to-JTAG探头,则需要根据Espressif文档连接以下信号: JTAG信号 | JTAG20引脚 | ESP32-C3信号 | ESP32-C3-DevKitM引脚 | TMS | 7 | IO4 | J3.11 | TDI | 5 | IO5 | J3.10 | TCK | 9 | IO6 | J3.9 | TDO | 13 | IO7 | J3.8 | GND | 4 | GND | J3.1 |
完成所有接线设置后,请按照以下步骤创建一个基本项目并对其进行调试: 1. 启动Visual Studio,然后并打开VisualGDB ESP32项目向导:
2. 为您的项目选择名称和所在位置:
3. 使用默认的CMake构建系统:
4. 确保您使用的是VisualGDB 5.6+、esp32-gcc8.4.0-r3工具链或更高版本以及ESP-IDF 4.3或更高版本。然后,在向导中选择ESP32C3芯片:
5. 继续克隆基本的“blink”示例:
6. 如本文开头所示连接辅助USB电缆。VisualGDB会自动检测ESP32-C3内置的JTAG接口,然后在Debug method页面上选择它。点击“Test”以验证连接:
7. 使用“Test”按钮验证连接。请注意,VisualGDB可能会报告大多数设备寄存器设置为0。这是ESP32-C3设备的预期结果,并不表示错误:
8. 最后,按“Finish”创建项目。现在您将能够像往常一样构建和调试它:
9. 请注意,默认闪烁示例不闪烁板载LED。相反,它将IO5(通常用作外部JTAG调试的TDI信号)配置为输出并缓慢切换它。为了使用外部JTAG调试器调试代码,除了遵循此处描述的步骤外,还需要禁用此功能(例如,通过更改BLINK_GPIO)。 |