06-vscode+espidf开发调试方法(内置JTAG调试)

使用VS Code和ESP-IDF进行ESP32开发和调试

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

OpenOCD 配置文件

用 VSCode 打开待调试的项目文件夹,在项目文件夹中的.VSCode 文件夹内编辑launch.json文件,直接替换原本 launch.json 文件的内容修改为以下

{"version": "0.2.0","configurations": [{"name": "GDB","type": "cppdbg","request": "launch","MIMode": "gdb","miDebuggerPath": "${command:espIdf.getXtensaGdb}","program": "${workspaceFolder}/build/${command:espIdf.getProjectName}.elf","windows": {"program": "${workspaceFolder}\\build\\${command:espIdf.getProjectName}.elf"},"cwd": "${workspaceFolder}","environment": [{ "name": "PATH", "value": "${config:idf.customExtraPaths}" }],"setupCommands": [{ "text": "target remote :3333" },{ "text": "set remote hardware-watchpoint-limit 2"},{ "text": "mon reset halt" },{ "text": "thb app_main" },{ "text": "flushregs" }],"externalConsole": false,"logging": {"engineLogging": true}}]
}

这里的名字可以自行修改
在这里插入图片描述

接下来,我们需要将ESP32-S3开发板通过USB接口连接到电脑。如果使用外部的ESP-Prog进行调试,需要将ESP-Prog通过USB连接到电脑。

设置调试信息

在VS Code中,我们需要进行以下设置:
在这里插入图片描述

  1. 设置串口端口号,如COM10。
  2. 选择芯片型号,如ESP32-S3 (ESP-PROG JTAG)
  3. 选择 JTAG 接口进行调试。

开启 OpenOCD

在 VS Code 软件下方有一个“OpenOCD Server”选择,点击。
在这里插入图片描述
选择顶部列表的第一个
在这里插入图片描述

运行和烧录

接下来,我们可以进行编译和烧录:

  1. 点击VS Code底栏的编译图标,等待编译完成。
  2. 点击VS Code底栏的烧录图标,然后等待烧录完成。

调试

最后,我们可以进行调试:

在 VSCode 左侧菜单栏中选择“运行和调试”,点击运行配置好的 GDB 文件
在这里插入图片描述

单步调试

  1. 在程序上打一个断点,然后点击左上角的开始按钮(或者点击F5)
    在这里插入图片描述
  2. 把变量添加到监视窗口、单步调试和停止调试
    在这里插入图片描述
  3. 停止openocd,依然是点击底栏的openocd配置图标,然后点击Stop Openocd Running
    在这里插入图片描述

结语

以上就是使用VS Code和ESP-IDF进行ESP32开发和调试的基本步骤。更加详细的内容可以去看看乐鑫公司的官方文档Visual Studio Code 调试的配置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/310374.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL表结构的操作

文章目录 1. 创建表2. 查看表3. 修改表4. 删除表 1. 创建表 create table table_name (field1 datatype,field2 datatype,field3 datatype )character set 字符集 collate 校验集 engine 存储引擎;field:列名datatype:列的类型character set&#xff1a…

使用深度学习集成模型进行乳腺癌组织病理学图像分类

基于预训练的VGG16和VGG19架构训练了四种不同的模型(即完全训练的 VGG16、微调的 VGG16、完全训练的 VGG19 和微调的 VGG19 模型)。最初,我们对所有单独的模型进行了5倍交叉验证操作。然后,我们采用集成策略,取预测概率…

【华为OD机试】围棋的气【C卷|100分】

题目描述 围棋棋盘由纵横各19条线垂直相交组成,棋盘上一共19 x 19 = 361 个交点, 对弈双方一方执白棋,一方执黑棋,落子时只能将棋子置于交点上。 “气”是围棋中很重要的一个概念,某个棋子有几口气,是指其上下左右方向四个相邻的交叉点中, 有几个交叉点没有棋子,由此可…

【EM算法】算法及注解

EM算法又称期望极大算法,是一种迭代算法,每次迭代由两步组成:E步,求期望(expectation);M步,求极大(maximization)。 算法背景 如果概率模型的变量都是观测变…

【报错】TypeError: Cannot read property ‘meta‘ of undefined

😈解决思路 首先这里很明显我们能看到是缺少该参数:meta。 但是经过查找后发现和该参数无关。 😈解决方法 后来我上网搜了下,网上的回答大部分偏向于是package.json这个文件中的tabBar.list数组对象只有一条的问题。 网上的大…

【Linux】引导与服务

一、系统引导过程 系统引导过程: 开机自检(BIOS) ----> MBR ----> GRUB ----> 加载内核 ----> 启动程序 1.1 开机自检 (1)开机自检:硬件启动POST(BIOS的一个主要功能)来加电检测硬件 (2)指引硬件:主板…

结构体的内存对齐

目录 对齐规则: 为什么存在内存对齐? 对齐规则: 1、结构体的第一个成员对齐到和结构体起始位置偏移量为0的地址处 2、其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处。 对齐数 编译器默认的一个对齐数 与 …

openstack安装dashboard后登录网页显示404错误

1. 2.进入该目录vim /etc/httpd/conf.d/openstack-dashboard.conf 增加这一行 WSGIApplicationGroup %{GLOBAL} 重启httpd后就可以访问了

古月·ROS2入门21讲——学习笔记(一)核心概念部分1-14讲

讲解视频地址:1.ROS和ROS2是什么_哔哩哔哩_bilibili 笔记分为上篇核心概念部分和下篇常用工具部分 下篇:古月ROS2入门21讲——学习笔记(二)常用工具部分15-21讲-CSDN博客 目录 第一讲:ROS/ROS2是什么 1. ROS的诞生…

【Qt 学习笔记】Qt常用控件 | 按钮类控件Radio Button的使用及说明

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Qt常用控件 | 按钮类控件Radio Button的使用及说明 文章编号&#xff…

数据结构---线性表

1&#xff0c;顺序表实现---动态分配 #include<stdlib.h> #define InitSize 10 typedef struct {int *data;//静态分配int length;int MaxSize; }SqList; void InitList(SqList& L) {L.data (int*)malloc(InitSize * sizeof(int));//分配空间L.length 0;L.MaxSize…

React 集成三方登录按钮样式的插件库

按钮不提供任何社交逻辑。 效果如下&#xff1a; 原地址&#xff1a;https://www.npmjs.com/package/react-social-login-buttons 时小记&#xff0c;终有成。

沐风老师3DMAX物品摆放插件ObjectPlacer安装和使用方法详解

3DMAX物品摆放插件ObjectPlacer安装和使用教程 3DMAX物品摆放插件ObjectPlacer&#xff0c;一键在曲面上摆放对象&#xff0c;如摆放家具物品、种植花草树木、布设电线杆交通标志等。它的功能是将对象与几何体对象&#xff08;网格、多边形、面片或NURBS&#xff09;的面法线对…

提高大型语言模型 (LLM) 性能的四种数据清理技术

原文地址&#xff1a;four-data-cleaning-techniques-to-improve-large-language-model-llm-performance 2024 年 4 月 2 日 检索增强生成&#xff08;RAG&#xff09;过程因其增强对大语言模型&#xff08;LLM&#xff09;的理解、为它们提供上下文并帮助防止幻觉的潜力而受…

部署Kafka集群图文详细步骤

1 集群规划 共三台虚拟机同处overlay网段&#xff0c;每台虚拟机部署一套kafka和zookeeper&#xff0c;kafka_manager安装其中一台虚拟机上即可。 HostnameIP addrPortListenerzk1docker-swarm分配2183:2181zk2docker-swarm分配2184:2181zk3docker-swarm分配2185:2181k1docke…

Navicat连接SQL server出现:[IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序(0)

问题 解决方法 一 找到Navicat的安装路径&#xff0c;然后找到sqlncli_x64.msi文件并安装&#xff0c;安装成功后重启Navicat重新进行连接&#xff0c;看是否成功。 解决方法 二 如果方法一没有找到找到sqlncli_x64.msi 还是Navicat的安装路径&#xff0c;然后找到msodbcsql_64…

Linux磁盘扩容并设置挂载点

背景 使用pve创建了一个虚拟机&#xff0c;各种环境配置都安装好了之后发现分配的磁盘空间太小了&#xff0c;默认的就30多个G&#xff0c;这还没咋玩呢就满了&#xff0c;像扩容却找遍了这个pve都没找到扩容按钮&#xff0c;并且我这个磁盘不是lvm结构的&#xff0c;所以好像…

Zookeeper集群+消息队列Kafka

一. Zookeeper 集群的相关知识 1. zookeeper的概念 ZooKeeper 是一个分布式的&#xff0c;开放源码的分布式应用程序协调服务&#xff0c;是Google的Chubby一个开源的实现&#xff0c;是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件&#xff0c;提供的…

zookeeper分布式应用程序协调服务+消息中间件kafka分布式数据处理平台

一、zookeeper基本介绍 1.1 zookeeper的概念 Zookeeper是一个开源的分布式的&#xff0c;为分布式框架提供协调服务的Apache项目。 是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件&#xff0c;提供的功能包括&#xff1a;配置维护、域名服务、…

【Excel】使用VBA宏简单自定义Excel软件界面

改行做经济师学习Excel&#xff0c;偶有心得&#xff0c;摘录于此&#xff0c;备忘。 言简意赅&#xff0c;仅供自用。 1 实现效果 在Excel的左上角可添加按钮&#xff0c;该按钮的功能可由我们自己通过编写代码定义&#xff0c;能实现特定功能&#xff0c;并且在所有打开的…