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 调试的配置

相关推荐

  1. ARM JTAG 调试原理

    2024-04-22 18:58:04       60 阅读
  2. 内核调试方法

    2024-04-22 18:58:04       23 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-22 18:58:04       91 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-22 18:58:04       97 阅读
  3. 在Django里面运行非项目文件

    2024-04-22 18:58:04       78 阅读
  4. Python语言-面向对象

    2024-04-22 18:58:04       88 阅读

热门阅读

  1. 深度学习中图像标注框的作用是什么

    2024-04-22 18:58:04       38 阅读
  2. C# 工具类

    2024-04-22 18:58:04       31 阅读
  3. PEI转染试剂使用手册

    2024-04-22 18:58:04       42 阅读
  4. MySQL-多表设计

    2024-04-22 18:58:04       29 阅读
  5. PG用户密码有效期设置

    2024-04-22 18:58:04       37 阅读
  6. Shell流程if与模式匹配case

    2024-04-22 18:58:04       33 阅读
  7. Redis:redis 版本过低

    2024-04-22 18:58:04       30 阅读
  8. 华为校招机试 - 扑克牌消除(20240417)

    2024-04-22 18:58:04       28 阅读
  9. HarmonyOS之http请求数据返回值为字符串存储渲染

    2024-04-22 18:58:04       33 阅读
  10. 基于AI的pdf转word方法

    2024-04-22 18:58:04       53 阅读
  11. html中字体加粗

    2024-04-22 18:58:04       34 阅读