使用ESP-Prog调试Esp32(JTAG)
1、系统框图
ESP-Prog 的整体功能框图:
2、硬件部分
ESP-Prog 板子上各功能的位置
2.1通讯接口
ESP-Prog 上与 ESP32 产品板连接的部分,既有 Program 接口,又有 JTAG 接口。用户板上的接口顺序需要按照 ESP-Prog 上的规定设计。
Program 接口 Program 接口有 6 个管脚,包括了 UART 接口 (TXD, RXD)、启动模式选择管脚 (ESP_IO0) 和复位管脚 (ESP_EN)。用户板上 Program 接口管脚设计应如下图。
JTAG 接口 用户板上的 JTAG 接口顺序应如下图设计。
3、使用步骤
3.1硬件接线部分
Esp32对应的接线图
使用时候将下方JTAG部分的跳线将SEL5V和GND连接
4、硬件驱动安装
4.1下载Prog的驱动
Zadig – USB driver installation made easy
下载好了之后解压打开
打开Zadig工具,点击Options->List All Devices
按照下面的步骤烧录
下载FTDI
VCP Drivers – FTDI
选择Drivers ->VCP Drivers,下滑找到Windows (Desktop)然后点击setup executable下载安装驱动
完成上面的步骤之后查看串口设备,如果显示即成功安装驱动
5、Platforam IO使用JTAG调试
5.1 platformio.ini配置
在platformio.ini配置下面添加一下三行内容
upload_protocol = esp-prog
debug_tool = esp-prog
debug_init_break = tbreak setup
upload_protocol:设置上传和调试器以使用 ESP-Prog
debug_tool:设置指定的debug调试器ESP-Prog
debug_init_break:设置调试器在 Arduino 函数上中断setup()
,否则无法在此函数中使用断点,因此这是一个方便的解决方法。如果不需要调试任何设置代码,可以注释掉此行。
5.2 烧录一个简单程序
#include <Arduino.h>
#define LED_OUT 2
#define HIGH 1
#define LOW 0
void LED_COUNT();
int count = 10;
int delayTime = 1000;
void setup() {
pinMode(LED_OUT, OUTPUT);
}
void loop() {
LED_COUNT();
count = count + 1;
}
void LED_COUNT() {
if (digitalRead(LED_OUT)) {
digitalWrite(LED_OUT, LOW);
}else {
digitalWrite(LED_OUT, HIGH);
}
delay(delayTime);
}
直接点击Build -> Upload,烧录程序之后,点击下方的Start Debugging按钮
5.3进行JTAG调试
在调试的过程中可以通过点击添加断点和调整调试模式,数据更加可视化
作者:我是黑杰克