使用j-link调试
visual studio code是微软推出的免费的源代码编辑器,通过插件,可以实现gdb +j-link+gdbserver方式在vscode中调试嵌入式系统。
在本文中,我们将介绍如何通过j-link向cortex内核微控制器添加调试功能。示例使用segger的empower v2.0评估板,其mcu为nxp的mk66fn2m8xxx18。请注意,以下配置将重新刷新目标应用,复位并连接到调试。如果希望添加该选项到正在运行的目标板,只需更改launch.json 中的request: launch为request: attach。
系统需求
1、visual studio code
2、gnu arm嵌入式工具链
3、visual studio代码插件
· c/ c++ for visual studio code
· cortex-debug
· c/ c++ intellisense可选
4、nxp mk66f器件的svd
windows系统设置
安装完vscode及相应插件后,首先打开visual studio code。
打开项目文件夹
在file菜单下选择open folder并选择下载的empower项目文件夹(https://www.segger.com/downloads/eval/seggereval_k66_segger_empower_cortexm_embeddedstudio)。
通过run and debug按钮 ,选择“cortex debug”, 在项目文件夹的.vscode目录中创建launch.json文件。
改编.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: cortex-debug, request: launch, name: debug j-link, cwd: ${workspaceroot}, executable: ${workspaceroot}/bsp/segger/k66fn2m0_empower/output/debug/start_empower.elf, serverpath: d:/program files /segger/jlink_v788e/jlinkgdbservercl.exe, servertype: jlink, device: mk66fn2m0xxx18, interface: jtag, serialnumber: , //if you have more than one j-link probe, add the serial number here. jlinkscript:${workspaceroot}/bsp/segger/k66fn2m0_empower/setup/kinetis_k66_target.js, runtomain: true, svdfile: ${workspaceroot}/svd/mk66f18.svd }]}
“serverpath”应该是你的j-link gdb服务器的具体安装目录。如果电脑连接了多个j-link,需添加j-link序列号。如果只调试一个目标,可以把这个条目注释掉。
在项目bsp/segger/k66fn2m0_empower目录下,使用ses打开start_segger_empower.emproject工程,构建生成start_empower.elf。
注意:
解压下载的nxp mk66f器件的svd后,mk66f18.svd文件位于keil. kinetis_k60_dfp .1.5.0/ svd下。将此文件夹复制到empower文件夹。
最后一步是设置arm gdb工具链。按f1,输入“config”。从下拉菜单中选择c/ c++:edit configurations (json)
在json配置文件中,需要添加编译器路径,如下:
{ configurations: [ { name: win32, includepath: [ ${workspacefolder}/**, ${workspacefolder}/gui/inc ], defines: [ _debug, unicode, _unicode ], intellisensemode: gcc-x64, compilerpath: d:\program files (x86)\gnu arm embedded toolchain\10 2020-q4-majorin\arm-none-eabi-gcc.exe } ],version: 4}
最终结果:
在setting文件中,我们必须指定armtoolchainpath。按f1并键入“settings”,选择“open settings (json)”:
cortex-debug.armtoolchainpath: c:\tool\c\arm\7_2018-q2-update\bin一行
应该指向arm-none-eabi-gdb.exe所在的文件夹:
现在设置已经全部完成。可以通过按f5或从run菜单→start debugging来开始调试。
进入调试后,输出如下:
在左侧面板上可以查看调试变量(局部,全局和静态),调用堆栈,断点,mcu外设和内核寄存器等调试项目所需的信息。
现在可以在visual studio code中调试目标应用程序了。
当你添加和设置用于调试和编译的扩展时,visual studio code是一个很好的选择。在上述配置中,我们添加了“request”:“launch”选项,但如果希望连接到运行中的目标上,你可以简单地将其设置为“request”:“attach”。或者,可以添加一个extra.json文件连接到目标。通过上述配置,即可以在visual studio code下使用j-link调试了。
Intel退出移动市场?此话言之过早!
全通滤波器工作原理及移相原理
小米运动蓝牙耳机青春版拆解:99元超值
上海浦东智能照明联合会第一届第八次理事会在上海浦东召开
正式打响KA渠道战,智伴科技与新华书店、沃尔玛等众多知名品牌达成合作
在VSCode中使用J-Link调试嵌入式系统
焊盘与丝网图形
STC89C52RC单片机内部系统结构及功能详解
物联网如何控制病毒的传播
半导体保险丝符号图解,半导体保险丝工作原理,半导体保险丝如何选型
贸易纷争有助于认清自己——中国经济靠低端崛起
基于AT89C51单片机和DS18B20农业环境温度监测系统的设计
微雪电子4英寸触摸彩色LCD显示模块简介
雪崩光电二极管噪声特性研究 浅谈二极管雪崩效应
SpringSoft全面支持中国高校IC设计
RS232C总线连接器的机械性
便携式食品安全检测仪介绍
无人自助棋牌室共享系统智能化部署开发
三星C5评测 有诚意的中国特供
工信部下一步将推动我国通信技术与实体经济深度融合