2021基于vscode以及jlink调试esp32最新
文章目录
- 前提条件
- 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最新相关推荐
- 【ESP32之旅】ESP32-S3 Jlink调试
原理讲解 如下图所示,ESP32S3芯片支持多种程序下载和调试方式.ESP32S3 在芯片内部集成了一颗USB控制器,可以用切换Boot模式的形式将USB控制器模拟成一路下载串口.芯片的Jtag功能和 ...
- VSCode环境下使用J-Link实现ESP32的JTAG 调试
J-Link适配器与ESP32-WROOM-32D的连接 Note:Jlink与ESP32模组之间的连接除了四条JTAG信号线以外,还要保证VCC与GND的连接:否则会报JTAG IO的错误. 启动O ...
- vscode 调试html页面,基于VSCode调试网页JavaScript代码过程详解
一.调试准备 Windows10 64bits IDE:Visual Studio Code1.28.2 安装插件:Chrome(安装方法:Debug -> Install Additional ...
- VSCode配置JavaScript基于Node.js的调试环境
一.安装VSCode和Node.js 前言:做科研之后确实很少会总结积累,可能是科研中出现的问题的解决方法比较多样灵活,别说了其实就是偷懒哈哈哈哈哈.这不又要做前端才又开始写博客记录环境配置了.行了不 ...
- 建立UDP到虚拟串口的映射软件 : USR-VCOM,并应用到WiFi调试ESP32
简 介: 为了能够通过WiFi对于ESP32中的MicroPython程序进行开发,本文测试了使用有人无线模块USR-WiFi形成虚拟串口的方式对于ESP32进行软件开发. 关键词: ESP32,US ...
- GD32F307VC+WIN10+VSCODE+GCC+JLINK环境build
为了构建Cortex M系列单片机免费开源的开发环境,网络上了解来看VSCODE+GCC+JLINK是一套比较高效的组合方式,下面记录环境搭建的流程. 我这边的PC环境为 WIN10专业版64bit. ...
- am335x编写裸机程序并在CCS中用Jlink调试
摘自:https://blog.csdn.net/mao0514/article/details/46545843 https://blog.csdn.net/colordrv/article/det ...
- 【B站视频教程笔记】基于VSCode和CMake实现C/C++开发 | Linux篇(gcc/g++)(安装、配置、使用详细教程)(VSCode教程)(CMake教程)(精!)
基于VSCode和CMake实现C/C++开发 | Linux篇 文章目录 目录结构 文件编辑 vim(编辑器之神,linux里可以畅通无阻,必学,但不是现在!) 安装GCC和GDB g++编译过程 ...
- CMake学习使用(基于vscode)
目录 语法 一些重要指令 CMake常用变量 CMake编译工程 编译流程 两种构建方式 实例展示 参考: 基于VSCode和CMake实现C/C++开发 | Linux篇 语法 基本语法格式:指令( ...
- vscode编译、调试stm32F4系列mcu的程序
捣腾很长时间了,用vscode编译.调试stm32F4系列mcu的程序.记录下. launch.json @TOC // AUTOMATICALLY GENERATED FILE. PLEASE DO ...
最新文章
- CNN+Transformer=SOTA!CNN丢掉的全局信息,Transformer来补
- 论海明威的存在主义宗教意识——存在主义虚无主义。注:部分观点个人不赞同...
- OpenCV imgproc直方图的实例(附完整代码)
- python归并排序理解不了_一日一技:如何更好地理解归并排序?
- ReactiveCocoa入门教程——第一部分
- java 拖放文字_myeclipse2014如何实现jsp中的html代码的文字拖放
- 浅谈asio中async_accept函数占用内存高的写法
- java UCnter 单点登录 对接。
- Custom Sublime Text Build Systems For Popular Tools And Languages
- UEditor百度富文本搭建时候遇到的问题
- 3DMine V202006体验版本下载
- html编辑器添加水印,怎么为UE编辑器上传的图片添加水印
- 【机器学习】6:K-近邻(KNN)算法实现手写数字识别的三种方法
- ​电子投票系统与区块链
- plc和c语言和cnc,CNC是什么意思? CNC 和 PLC的区别?
- “知行合一”到底有什么现实意义?
- 【贪心-单调栈】中山纪念中学暑期游Day12——灵知的太阳信仰
- 神经网络是线性分类器吗,有哪些典型的神经网络
- 在VMware中安装CentOS7(超详细的图文教程)
- Unity延迟几秒执行一个方法小工具
热门文章
- win7 64位系统加载dsoframer.ocx问题解决方法
- 爬虫爬取知乎评论并利用flask框架做简单的可视化
- 工作中遇到大小端数据存储格式
- linux系统安装pidgin,linux下QQ的安装(pidgin的安装)
- 价格便宜一半 这款智能座舱芯片实际性能却超越高通8155?
- java版精简搜狗皮肤
- vue项目中使用Google Analytics (谷歌统计)
- 饭店点餐系统之系统网络结构
- # ubuntu 16.04 vivado2017.4版本用JTAG烧写usrpx310的固件
- python的PIL库