【VSCODE 插件 调试】 platformio ESP32-S3 内置 JTAG 接口断点单步调试笔记

ESP32之 ESP-IDF + Clion 开发环境搭建(三)—— 使用 Clion 对 ESP32 进行 JTAG 调试 本文章 来自原创专栏《ESP32教学专栏 (基于ESP-IDF)》,介绍如何在Windows和Linux下,通过Clion对ESP32等进行JTAG调试 阅读详情
AI摘要

本文详细介绍了基于VS Code与PlatformIO插件,利用ESP32-S3芯片内置USB-JTAG接口进行嵌入式调试的完整流程,涵盖JTAG驱动安装、OpenOCD配置、eFuse启用、USB连接模式识别及断点单步调试实践。重点说明GPIO19/GPIO20作为D+/D-的硬件接法、JTAG模式触发条件(GPIO0+GPIO46组合)、以及COM端口分工(COM7调试/COM6串口监控)。不涉及外部JTAG适配器等非核心方案。

ESP32 S3的两种JTAG调试方法

  • ESP32 S3的有两种JTAG调试方法,直接连接板子上的JTAG引脚进行调试,或者用ESP32-S3 内置 JTAG 接口进行调试,这些方法有助于开发者在开发过程中进行更深入的调试。

1、ESP32-S3 内置 JTAG 接口

  • 使用 ESP32-S3 内置 JTAG 接口ESP32-S3 芯片本身就集成了 JTAG 功能,这意味着你可以直接通过 USB 线连接到芯片的 D+ 和 D- 引脚来进行 JTAG 调试,而不需要额外的 JTAG 适配器。这种调试方式较为简便,只需要按照以下步骤操作:

    • 硬件连接:将 USB 线的 D+ 和 D- 引脚连接到 ESP32-S3 的相应引脚上。注意不要将 USB 通信引脚误连到通常用于串行通信的 RxD 和 TxD 引脚上。
    • 软件配置:使用支持 JTAG 调试的工具,如 OpenOCD。配置相应的 OpenOCD 配置文件,指定正确的 JTAG 配置和目标设备。
  • ESP32-S3 系列芯片集成了一个 USB 串口/JTAG 控制器,作为兼容 USB 2.0 全速模式的设备。GPIO19 和 GPIO20 可以分别作为 USB 的 D- 和 D+(通过USB进行直连的方法如以下原理图所示),线上建议预留串联电阻(初始值可为 0 Ω)和对地电容(初始可不上件),并注意靠近芯片端放置。
    在这里插入图片描述

2、外部 JTAG 适配器

在这里插入图片描述

  • 可以使用传统的 JTAG 适配器来实现调试。使用外部 JTAG 适配器的方法包括:硬件连接:连接 JTAG 适配器到 ESP32-S3 的 JTAG 接口,通常包括 TCK, TDI, TDO, TMS, nTRST 等引脚。软件配置:同样使用支持 JTAG 的调试工具,例如 OpenOCD。

内置 JTAG 接口调试过程

vcode + platformio 插件安装与测试

  • 在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

集成jtag驱动安装

在这里插入图片描述

  • 驱动地址:https://dl.espressif.com/dl/idf-driver/idf-driver-esp32-usb-jtag-2021-07-15.zip

  • 解压后右键点击 USB_JTAG_debug_unit.inf 进行安装
    在这里插入图片描述
    在这里插入图片描述

openocd安装(esp-idf安装)

在这里插入图片描述

  • 还可使用EIM方式安装:下载后,只需运行安装程序即可。 它会自动检测并安装任何缺失的前置条件,并引导你完成设置过程。
    在这里插入图片描述

  • Installation Log:

All offline installations completed successfully
Archive archive_vv5.5.2_windows-x64.zst processed successfully (1/1)
IDE configuration saved successfully
IDE configuration directory created
IDE configuration directory created
ESP-IDF version v5.5.2 configured successfully
Development tools configured successfully
Tools setup completed successfully
Python environment installed successfully
Installed tool: idf-exe-v1.0.3 (14/14)
Verified: idf-exe-v1.0.3
Starting download: idf-exe-v1.0.3
Installed tool: ccache-4.11.2-windows (13/14)
Verified: ccache-4.11.2-windows
Starting download: ccache-4.11.2-windows
Installed tool: riscv32-esp-elf (12/14)
Verified: riscv32-esp-elf
Starting download: riscv32-esp-elf
Installed tool: libs-clang-esp (11/14)
Verified: libs-clang-esp
Starting download: libs-clang-esp
Installed tool: ninja-win (10/14)
Verified: ninja-win
Starting download: ninja-win
Installed tool: cmake-3.30.2-windows (9/14)
Verified: cmake-3.30.2-windows
Starting download: cmake-3.30.2-windows
Installed tool: clang-esp-19.1.2_20250312 (8/14)
Verified: clang-esp-19.1.2_20250312
Starting download: clang-esp-19.1.2_20250312
Installed tool: xtensa-esp-elf (7/14)
Verified: xtensa-esp-elf
Starting download: xtensa-esp-elf
Installed tool: riscv32-esp-elf (6/14)
Verified: riscv32-esp-elf
Starting download: riscv32-esp-elf
Installed tool: xtensa-esp-elf (5/14)
Verified: xtensa-esp-elf
Starting download: xtensa-esp-elf
Starting download: openocd-esp32-win64
Installed tool: esp32ulp-elf-2.38_20240113 (2/14)
Verified: esp32ulp-elf-2.38_20240113
Starting download: esp32ulp-elf-2.38_20240113
Installed tool: esp-rom-elfs (1/14)
Verified: esp-rom-elfs
Starting download: esp-rom-elfs
Development tools copied successfully
Version paths configured for v5.5.2: C:\esp\v5.5.2\esp-idf
ESP-IDF copied successfully from offline archive
Prerequisites installed successfully from offline archive
Archive extracted and configured successfully
Created temporary directory: C:\Users\audit\AppData\Local\Temp\.tmpP4ts9b
Validated archive: C:\Users\audit\Downloads\archive_vv5.5.2_windows-x64.zst
Starting offline installation with 1 archive(s)

在这里插入图片描述

进入jtag模式

eFuse配置与jtag连接

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

进行调试

  • PlatformIO项目配置文件如下:
; PlatformIO Project Configuration File
;
;   Build options: build flags, source filter
;   Upload options: custom upload port, speed and extra flags
;   Library options: dependencies, extra library storages
;   Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:esp32-s3-devkitm-1]
platform = espressif32
board = esp32-s3-devkitm-1
framework = arduino
upload_port = COM7
; upload_speed = 2000000
; monitor_speed = 115200
monitor_port = COM6
debug_tool = esp-builtin
; debug_init_break = break setup
debug_init_break = tbreak setup
build_type = debug
  • 点击调试按钮进行程序调试
    在这里插入图片描述

CG

ESP32-C3 JTAG调试笔记 ESP32-C3 内置 JTAG 电路,无需任何额外芯片即可调试。只需要一根连接到 D+/D- 引脚的 USB 电缆。 阅读详情

相关推荐

06-esp32-idf开发调试方法(内置JTAG,OpenOCD调试)

使用VS Code和ESP-IDF进行ESP32开发和调试 在我们搭建 **IDF** 框架后,**OpenOCD** 已经自动下载好了, 我们通过 **JTAG** 接口连接使用 **OpenOCD** 进行调试。而**ESP32**芯片中内置 了**JTAG** 电路,无需额外芯片即可调试,更加方便,所以这里我们讲解使用模块自带的usb-jtag接口进行调试。

宁子希的博客 1万+

ESP32-S3 自带usb/jtag初步尝试体验

ESP32-S3 自带usb/jtag初步尝试遇到的坑和解决之道。This is the way.

watershade2010的专栏 1万+

VSCode + PlatformIO 实战:ESP32-S3 内置JTAG接口高效调试指南

本文详细介绍了如何在VSCode和PlatformIO环境下利用ESP32-S3内置JTAG接口进行高效调试。从环境搭建、硬件连接到实战调试技巧,全面解析断点单步调试等核心功能,帮助开发者提升嵌入式开发效率。特别针对常见问题提供解决方案,是ESP32-S3开发者的实用指南。

weixin_28273593的博客 559

Windows ESP32S3的JTAG调试

最近有小伙伴使用的是windows开发的esp32,在开发过程中,在使用esp32-s3仿真调试的时候,由于环境问题,一直打开openocd错误,导致没有办法使用,这里记录一下过程。

Lim的博客 6780

ESP32-S3嵌入式开发调试实战:从串口打印到JTAG单步调试全解析

在嵌入式系统开发中,调试是连接代码逻辑与硬件行为的关键桥梁。其核心原理是通过特定接口与协议,实时获取或控制目标设备的运行状态,从而定位和修复问题。这一过程的技术价值在于,它能将抽象的软件错误转化为可观测的现象,极大提升开发效率与系统可靠性。常见的应用场景包括排查传感器通信失败、分析程序崩溃原因、优化代码性能等。以ESP32-S3等微控制器开发为例,高效的调试往往依赖于对UART串口、JTAG等基础协议的理解,并借助逻辑分析仪等工具进行硬件信号深度探查。本文聚焦于XIAO ESP32S3开发板,详细阐述了如何

weixin_30036289的博客 265

【ESP32-S3】从零到一:在VSCode中利用PlatformIO搭建Arduino开发环境

本文详细介绍了如何在VSCode中使用PlatformIO搭建ESP32-S3的Arduino开发环境,从环境准备、开发板配置到项目构建和调试技巧,帮助开发者快速上手。通过实战案例展示WiFi扫描器的实现,提升嵌入式开发效率。

weixin_28831399的博客 312

ESP32-S3-JTAG-Debug

ESP32-S3-JTAG-Debug 学习笔记

qq_45803449的博客 1564

从Arduino IDE迁移到VSCode+PlatformIO:一个ESP32-S3老玩家的环境搭建与项目移植全记录

本文详细记录了从Arduino IDE迁移到VSCode+PlatformIO的全过程,特别针对ESP32-S3开发者。通过环境搭建、项目移植和效率提升实践,展示了如何利用PlatformIO的强大功能解决Arduino IDE的局限性,实现开发效率的显著提升。

weixin_28829479的博客 249

ESP32开发入门:基于VSCode+PlatformIO环境搭建指南

ESP32作为一款功能强大的物联网开发芯片,结合PlatformIO这一现代化嵌入式开发平台,可以大幅提升开发效率。本文将详细介绍如何在VSCode中搭建ESP32开发环境,并分享实用开发技巧。

qq_36979952的博客 6254

告别Arduino IDE:用VSCode+PlatformIO打造专业级ESP32开发环境

本文详细介绍了如何从Arduino IDE转向更专业的VSCode+PlatformIO开发环境,为ESP32开发者提供高效开发体验。涵盖环境搭建、项目实战、高级调试技巧及性能优化,特别适合需要提升开发效率和项目复杂度的开发者。文章重点展示了VSCode+PlatformIO在ESP32开发中的优势,包括智能代码补全、统一项目管理和跨平台支持。

github5actions的博客 673

ESP32-S3原生USB调试:告别串口线,一根Type-C搞定烧录与日志

串口通信是嵌入式开发的基础调试手段,但传统UART转USB方案常遇到引脚占用、驱动安装和手动复位等问题。ESP32-S3芯片内部集成了USB-Serial-JTAG控制器,通过GPIO19/20直接提供USB端口,无需外置转换芯片即可实现固件下载、日志打印与JTAG调试。结合PlatformIO开发环境,开发者只需一根USB线完成从编译到调试的完整流程。该方案适用于IoT原型验证、课堂实验及快速固件迭代等场景,尤其适合希望简化开发流程的嵌入式爱好者。本文从硬件选型、platformio.ini配置到常见问题

weixin_33885676的博客 513

超越断点:ESP32-S3调试中的高级技巧与性能优化

本文深入探讨了ESP32-S3调试中的高级技巧与性能优化方法,重点介绍了内置JTAG接口的优势、PlatformIO与VSCode的高效调试配置,以及多核同步调试和内存监控等实战技巧。通过优化硬件设计和软件配置,显著提升调试效率和信号完整性,适用于物联网设备开发中的复杂场景。

weixin_29182481的博客 277

VSCode+PlatformIO搭建ESP32嵌入式开发环境

嵌入式开发环境是连接代码与硬件的枢纽,其本质是构建可复现、可协作的固件工程体系。VSCode作为轻量级元编辑器,通过LSP/DAP协议提供标准化交互层;PlatformIO则作为声明式构建系统与包管理器,实现硬件抽象、依赖隔离与跨平台编译。这种组合显著降低ESP32等MCU的开发门槛,支撑Arduino框架、ESP-IDF底层能力及CI/CD实践。典型应用场景包括物联网终端固件开发、教学实验平台搭建及团队协同项目初始化——本文即以ESP32为例,详解从工具安装、中文本地化、镜像加速到项目构建烧录的全链路配置

weixin_36300623的博客 613

零基础玩转ESP32:用VSCode+PlatformIO实现WiFi配网(避坑指南)

本文详细介绍了如何零基础使用VSCode和PlatformIO开发ESP32,实现WiFi配网功能。从开发环境搭建、WiFi连接调试到PlatformIO高级功能解析,提供全面的避坑指南和实战技巧,帮助开发者快速上手ESP32物联网开发。

ttt77的博客 676

ESP32开发环境升级:从Arduino IDE迁移到VSCode+PlatformIO实战指南

在嵌入式开发中,依赖管理和工程组织是提升效率的关键。Arduino IDE虽易于上手,但缺乏项目级依赖隔离和调试支持,容易导致库冲突和代码混乱。PlatformIO作为跨平台开发工具,通过配置文件实现依赖管理,支持断点调试,适用于ESP32等多硬件开发。它简化了从原型到产品的流程,尤其适合需要版本控制和团队协作的场景。本文以ESP32为例,详细讲解如何从Arduino IDE迁移到VSCode+PlatformIO,涵盖环境搭建、工程配置和常见问题排查,帮助开发者实现工程化开发。

weixin_29185493的博客 252

ESP32开发环境搭建避坑指南:VSCode+PlatformIO从安装到烧录全流程

本文提供了一份详尽的ESP32开发环境搭建指南,重点解析了使用VSCode和PlatformIO从安装到烧录的全流程。内容涵盖了驱动安装、项目创建、代码编写、编译烧录的常见错误及解决方案,并深度解读了platformio.ini配置文件,旨在帮助开发者,尤其是新手,高效避坑,快速构建稳定可靠的ESP32开发环境。

pear55的博客 761

【VSCODE 插件 调试】platformio ESP32-S3 内置 JTAG 断点单步调试:从 401 报错到 TaoToken 通道配置

ESP32-S3 内置 JTAG 调试报 401?先理顺 TaoToken 通道:在 platformio.ini 配 debug_tool=esp-builtin,launch.json 注入 Key 与 Base URL,再分层排查本地 GDB 端口与远程 API 鉴权。官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 提供统一入口,断点单步一次跑通。

weixin_35750747的博客 8

游戏经济数值模型的搭建过程——以标准卡牌游戏为例

一、总体规划 1.玩家分类 首先我们按照下表对玩家进行分类 付费能力即为充值额度;充值行为比如购买月卡/购买钻石;消费行为比如用钻石抽卡 在这里我们假设玩家是理性的,即玩家会以追求更高的性价比为目标进行充值与消费(即小R会优先买首冲+月卡,而不是买一个无用的无属性皮肤) 不同类型玩家之间的差异,实际上就主要由这些行为的差异而决定。 注:早期游戏制作的时候,活跃程度也是区分玩家类型的一个重要依据。不过目前现在游戏中有各种手段抹平了不同活跃玩家的差异(体力限制,活跃时间长的收益递减)..

dudu3332的博客 4228

从Arduino到VSCode+PlatformIO:给你的ESP32-C3换个更专业的开发环境

本文详细介绍了如何从Arduino IDE迁移到VSCode+PlatformIO开发环境,为ESP32-C3提供更专业的开发体验。涵盖环境搭建、项目配置、代码移植及高级调试技巧,帮助开发者提升项目管理效率和代码质量,特别适合C语言嵌入式开发进阶。

weixin_30733003的博客 407

单目和多目视觉统一标定

单目和多目视觉统一标定 一.单目视觉标定 在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数的过程就称之为相机标定(或摄像机标定)。无论是在图像测量或者机器视觉应用中,相机参数的标定都是非常关键的环节,其标定结果的精度及算法的稳定性直接影响相机工作产生结果的准确性。因此,做好相机标定是做好后续工作的前提,提高标定精度是科研工作的重点所在

吴建明wujianming_110117 2911

什么是无人机巡检?如何实现无人机自动巡检?

复亚智能的无人机自动巡检系统通过高度自动化的技术,实现了无人机的高效巡检作业。无人机自动机场支持无人机的自动起降和电池更换,自动飞行算法确保无人机在复杂环境中的精准飞行和拍摄,而云端识别诊断和AI感知算法平台则实现图像的实时传输和智能分析。复亚智能,作为无人机技术的创新者和推动者,致力于开发先进的无人机自动巡检解决方案,助力各行各业实现智能化、自动化的巡检工作,引领智能巡检的未来。利用人工智能和机器学习算法,无人机可以被训练来识别特定的模式和异常,如结构损坏、热泄漏等,从而提高巡检的准确性和效率。

foiadrone的博客 2842
上一篇: 【工业工艺与设计 机械】翻砂铸造+铸砂工艺
下一篇: 【VSCODE 插件 调试】ESP-IDF 内置 JTAG 接口断点单步调试笔记
FakeOccupational
博客等级 码龄6年 2万+粉丝 1727原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值