良许Linux教程网 干货合集 在VSCode中使用J-Link调试

在VSCode中使用J-Link调试

利用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(https://code.visualstudio.com/)

2、GNU ARM嵌入式工具链(https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads)

3、Visual Studio代码插件

· C/ C++ for Visual Studio Code

· Cortex-Debug

· C/ C++ Intellisense可选

4、NXP MK66F器件的SVD(https://keilpack.azureedge.net/pack/Keil.Kinetis_K60_DFP.1.5.0.pack)

Windows系统设置

安装完VSCode及相应插件后,首先打开Visual Studio Code。

打开项目文件夹

在File菜单下选择Open Folder并选择下载的emPower项目文件夹(https://www.segger.com/downloads/eval/SeggerEval_K66_SEGGER_emPower_CortexM_EmbeddedStudio)。

image-20240407005045849
image-20240407005045849

通过Run and Debug按钮 ,选择“Cortex Debug”, 在项目文件夹的.vscode目录中创建launch.json文件。

image-20240407005048831
image-20240407005048831

改编.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。

image-20240407005102271
image-20240407005102271

注意:

解压下载的NXP MK66F器件的SVD后,MK66F18.svd文件位于Keil. kinetis_k60_dfp .1.5.0/ SVD下。将此文件夹复制到emPower文件夹。

image-20240407005105301
image-20240407005105301

最后一步是设置ARM GDB工具链。按F1,输入“config”。从下拉菜单中选择C/ c++:Edit Configurations (JSON)

image-20240407005108062
image-20240407005108062

在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-major\bin\\arm-none-eabi-gcc.exe"
  }
  ],
"version": 4
}

最终结果:

image-20240407005121570
image-20240407005121570

在setting文件中,我们必须指定armToolchainPath。按F1并键入“settings”,选择“Open settings (JSON)”:

image-20240407005124800
image-20240407005124800

“cortex-debug.armToolchainPath”: “C:\Tool\C\Arm\7_2018-q2-update\bin”一行

应该指向arm-none-eabi-gdb.exe所在的文件夹:

image-20240407005128166
image-20240407005128166

现在设置已经全部完成。可以通过按F5或从RUN菜单→Start Debugging来开始调试。

进入调试后,输出如下:

image-20240407005137001
image-20240407005137001

在左侧面板上可以查看调试变量(局部,全局和静态),调用堆栈,断点,MCU外设和内核寄存器等调试项目所需的信息。

现在可以在Visual Studio Code中调试目标应用程序了。

当你添加和设置用于调试和编译的扩展时,Visual Studio Code是一个很好的选择。在上述配置中,我们添加了“request”:“launch”选项,但如果希望连接到运行中的目标上,你可以简单地将其设置为“request”:“attach”。或者,可以添加一个extra.json文件连接到目标。通过上述配置,即可以在Visual Studio Code下使用J-Link调试了。

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部