文章目录

  • 前提条件
  • Jlink调试器
  • openocd-jlink配置修改
  • 驱动更换
  • vscode配置修改
  • 问题
  • 参考

ESP32-JTAG 调试官方指南

前提条件

1. 插件安装:vscode插件Espressif IDF安装
2. 插件安装:vscode插件Native Debug安装
3. 有一个jlink调试器.

Jlink调试器

首先你需要安装jlink的驱动,这里给出一个链接下载[提取码:2wq7 ],安装说明:链接[提取码:4s9l]



请注意:VERF一定要连接到开发板的VCC,让其工作,有什么jtag连接的问题请参考安装说明
注意:esp32是不支持swd的

openocd-jlink配置修改

在连接完后,我们可以到你安装Espressif IDF插件中的espressif文件夹中(根据你安装位置的不同自己找),它长这样

进入tools->openocd-esp32->v0.10.0-esp32-20210401->openocd-esp32中,可以看到如下文件

其中bin中存放着openocd.exe就是我们需要用到的调试软件,而在share文件加中,存放着是不同协议的配置文件以及芯片信息。
因为我们用的是jlink因此我们对jlink的配置文件做出修改:
在share\openocd\scripts\interface中找到jlink.cfg进行修改:
添加:
adapter_khz 20000

保存退出



驱动更换

登陆网站http://zadig.akeo.ie/下载zadig软件,用来安装仿真器的驱动程序,openOCD只把Jlink仿真器当作普通的USB设备来使用,不使用Jlink自带的仿真器驱动程序,如果已安装了Jlink仿真器驱动程序,这个过程就是把原先的驱动程序换掉。

作者:罗蓁蓁
链接:https://www.jianshu.com/p/a66a4c7e6f94
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

打开Zadig软件,选择Options勾选List All Devices

这个时候选择j-link然后驱动更换为winUSB类型,点击install driver即可安装
一定要进行此步,不然openocd找不到jlink的

vscode配置修改

进行完此步后,我们就可以打开vscode工程了,这里我们以helloworld为例

crtl+shift+p输入idf example,选择我们的helloworld工程

我们首先修改我们的配置文件.vscode/setting.json


添加OpenOCD脚本目录中的配置文件列表
修改interface,也就是idf.openocdconfigs第一行配置为我们的jlink,其中第二行修改为我们的芯片。

修改完了后,我们到.vscode/launch.setting中将其中的内容全部删除,替换为如下
此处参考出处
我自己修改了下面这部分,就不用增加环境变量等了。

// ======================== launch.json ========================
{// Use IntelliSense to learn about possible attributes.// Hover to view descriptions of existing attributes.// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"type": "gdb","request": "launch","name": "Debug ESP32","target": "build/${workspaceFolderBasename}.elf","cwd": "${workspaceFolder}","gdbpath": "${config:idf.toolsPathWin}/tools/xtensa-esp32-elf/esp-2021r1-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gdb.exe", // Path of the toolchain"autorun": ["target remote :3333", // Connect to OpenOCD"mon reset halt", // Reset the chip and keep the CPUs halted"set remote hardware-watchpoint-limit 2", // Restrict GDB to using two hardware watchpoints supported by ESP32"flushregs", // Force GDB to get new state from the target"thb app_main", // Insert a temporary hardware breakpoint at the main function"c" // Resume the program. It will then stop at breakpoint inserted at app_main],// "preLaunchTask": "OpenOCD"},{"type": "gdb","request": "launch","name": "flash and debug ESP32","target": "build/${workspaceFolderBasename}.elf","cwd": "${workspaceFolder}","gdbpath": "${config:idf.toolsPathWin}/tools/xtensa-esp32-elf/esp-2021r1-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gdb.exe", // Path of the toolchain"autorun": ["target remote :3333", // Connect to OpenOCD"mon reset halt", // Reset the chip and keep the CPUs halted"mon program_esp32 build/${workspaceFolderBasename}.bin 0x10000","mon reset halt", // Reset the chip and keep the CPUs halted"set remote hardware-watchpoint-limit 2", // Restrict GDB to using two hardware watchpoints supported by ESP32"flushregs", // Force GDB to get new state from the target"thb app_main", // Insert a temporary hardware breakpoint at the main function"c" // Resume the program. It will then stop at breakpoint inserted at app_main],// "preLaunchTask": "OpenOCD"}]
}

其中
Debug ESP32是直接调试
flash and debug ESP32是烧录并调试

然后我们开始编译(注意终端要是cmd或者powershell,不能是bash)



编译完成后,进行下载


打开我们的monitor进行查看

然后完成后,我们开启openocd服务器端,让xtensa-esp32-elf-gdb.exe进行连接调试。
说实话,调试起来体验感不是很好,可以看一下gif

问题

说找不到hello_world.elf文件的,修改顶层cmakelist.txt

参考

开源调试软件OpenOCD
解决openocd无法识别jlink的问题
ESP32 使用 Jlink 进行 JTAG 调试的流程
esp32-JTAG 调试官方指南
esp32_debug_template

2021基于vscode以及jlink调试esp32最新相关推荐

  1. 【ESP32之旅】ESP32-S3 Jlink调试

    原理讲解 如下图所示,ESP32S3芯片支持多种程序下载和调试方式.ESP32S3 在芯片内部集成了一颗USB控制器,可以用切换Boot模式的形式将USB控制器模拟成一路下载串口.芯片的Jtag功能和 ...

  2. VSCode环境下使用J-Link实现ESP32的JTAG 调试

    J-Link适配器与ESP32-WROOM-32D的连接 Note:Jlink与ESP32模组之间的连接除了四条JTAG信号线以外,还要保证VCC与GND的连接:否则会报JTAG IO的错误. 启动O ...

  3. vscode 调试html页面,基于VSCode调试网页JavaScript代码过程详解

    一.调试准备 Windows10 64bits IDE:Visual Studio Code1.28.2 安装插件:Chrome(安装方法:Debug -> Install Additional ...

  4. VSCode配置JavaScript基于Node.js的调试环境

    一.安装VSCode和Node.js 前言:做科研之后确实很少会总结积累,可能是科研中出现的问题的解决方法比较多样灵活,别说了其实就是偷懒哈哈哈哈哈.这不又要做前端才又开始写博客记录环境配置了.行了不 ...

  5. 建立UDP到虚拟串口的映射软件 : USR-VCOM,并应用到WiFi调试ESP32

    简 介: 为了能够通过WiFi对于ESP32中的MicroPython程序进行开发,本文测试了使用有人无线模块USR-WiFi形成虚拟串口的方式对于ESP32进行软件开发. 关键词: ESP32,US ...

  6. GD32F307VC+WIN10+VSCODE+GCC+JLINK环境build

    为了构建Cortex M系列单片机免费开源的开发环境,网络上了解来看VSCODE+GCC+JLINK是一套比较高效的组合方式,下面记录环境搭建的流程. 我这边的PC环境为 WIN10专业版64bit. ...

  7. am335x编写裸机程序并在CCS中用Jlink调试

    摘自:https://blog.csdn.net/mao0514/article/details/46545843 https://blog.csdn.net/colordrv/article/det ...

  8. 【B站视频教程笔记】基于VSCode和CMake实现C/C++开发 | Linux篇(gcc/g++)(安装、配置、使用详细教程)(VSCode教程)(CMake教程)(精!)

    基于VSCode和CMake实现C/C++开发 | Linux篇 文章目录 目录结构 文件编辑 vim(编辑器之神,linux里可以畅通无阻,必学,但不是现在!) 安装GCC和GDB g++编译过程 ...

  9. CMake学习使用(基于vscode)

    目录 语法 一些重要指令 CMake常用变量 CMake编译工程 编译流程 两种构建方式 实例展示 参考: 基于VSCode和CMake实现C/C++开发 | Linux篇 语法 基本语法格式:指令( ...

  10. vscode编译、调试stm32F4系列mcu的程序

    捣腾很长时间了,用vscode编译.调试stm32F4系列mcu的程序.记录下. launch.json @TOC // AUTOMATICALLY GENERATED FILE. PLEASE DO ...

最新文章

  1. CNN+Transformer=SOTA!CNN丢掉的全局信息,Transformer来补
  2. 论海明威的存在主义宗教意识——存在主义虚无主义。注:部分观点个人不赞同...
  3. OpenCV imgproc直方图的实例(附完整代码)
  4. python归并排序理解不了_一日一技:如何更好地理解归并排序?
  5. ReactiveCocoa入门教程——第一部分
  6. java 拖放文字_myeclipse2014如何实现jsp中的html代码的文字拖放
  7. 浅谈asio中async_accept函数占用内存高的写法
  8. java UCnter 单点登录 对接。
  9. Custom Sublime Text Build Systems For Popular Tools And Languages
  10. UEditor百度富文本搭建时候遇到的问题
  11. 3DMine V202006体验版本下载
  12. html编辑器添加水印,怎么为UE编辑器上传的图片添加水印
  13. 【机器学习】6:K-近邻(KNN)算法实现手写数字识别的三种方法
  14. ​电子投票系统与区块链
  15. plc和c语言和cnc,CNC是什么意思? CNC 和 PLC的区别?
  16. “知行合一”到底有什么现实意义?
  17. 【贪心-单调栈】中山纪念中学暑期游Day12——灵知的太阳信仰
  18. 神经网络是线性分类器吗,有哪些典型的神经网络
  19. 在VMware中安装CentOS7(超详细的图文教程)
  20. Unity延迟几秒执行一个方法小工具

热门文章

  1. win7 64位系统加载dsoframer.ocx问题解决方法
  2. 爬虫爬取知乎评论并利用flask框架做简单的可视化
  3. 工作中遇到大小端数据存储格式
  4. linux系统安装pidgin,linux下QQ的安装(pidgin的安装)
  5. 价格便宜一半 这款智能座舱芯片实际性能却超越高通8155?
  6. java版精简搜狗皮肤
  7. vue项目中使用Google Analytics (谷歌统计)
  8. 饭店点餐系统之系统网络结构
  9. # ubuntu 16.04 vivado2017.4版本用JTAG烧写usrpx310的固件
  10. python的PIL库