目前有第三方插件可支持通过 GDB + J-Link + GDBServer 在嵌入式目标设备上进行 Visual Studio Code 调试。Visual Studio Code 是微软推出的一款免费源代码编辑器,支持 Windows、Linux 和 OS-X 系统。除了通过安装扩展实现代码重构和版本控制外,这款“简易”代码编辑器还可扩展为多平台开发环境。本教程仅介绍如何通过 J-Link 调试器为 Cortex 内核微控制器添加调试功能。本示例将使用 SEGGER 公司的 emPower v2.0 评估板,目标微控制器为恩智浦(NXP)MK66FX1M0xxx18,您可在通过后台联系我们购买该评估板。请注意,以下配置将重新烧录您的目标设备、重置设备并连接调试。如果您希望添加连接至运行中目标设备的选项,只需将 launch.json 文件中的 "request": "launch" 改为 "request": "attach" 即可。
Visual Studio Code
GNU ARM 嵌入式工具链
J-Link 软件与文档包
Visual Studio Code 插件
适用于 Visual Studio Code 的 C/C++ 插件
Cortex-Debug 插件
C/C++ 智能感知插件
适用于恩智浦 MK66F 器件的 SVD 文件
适用于 emPower 的 SEGGER 评估软件
注意:请根据您的操作系统,从上述列表中下载对应的安装包。
下面开始进行设置。安装好 Visual Studio Code 及上述插件后,启动 Visual Studio Code。
在“文件”菜单下选择“打开文件夹”,然后选中您之前下载并解压的 EMPower 项目文件夹。

然后切换至调试侧边栏,点击“创建 launch.json 文件”,并从下拉列表中选择“Cortex Debug”。

launch.json 文件将创建在您项目文件夹下的 .vscode 文件夹中。

现在我们需要将 .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": [ { "name": "Cortex Debug", "cwd": "${workspaceFolder}", "executable": "${workspaceFolder}/BSP/SEGGER/K66FN2M0_emPower/Output/Debug/Start_emPower.elf", "request": "launch", "type": "cortex-debug", "runToEntryPoint": "main", "servertype": "jlink", "serverpath": "C:/Program Files/SEGGER/JLink/JLinkGDBServerCL.exe", "serverArgs": [], "device": "MK66FX1M0xxx18", "interface": "jtag", "serialNumber": "", //If you have more than one J-Link probe, add the serial number here. "svdFile": "${workspaceFolder}/SVD/MK66F18.svd", "armToolchainPath": "C:/Program Files (x86)/Arm GNU Toolchain arm-none-eabi/12.3 rel1/bin" } ]}“serverpath” 应填写您的 J-Link GDB 服务器安装目录。
“serverArgs” 中可使用任何受支持的命令行选项。例如:
"serverArgs": ["-speed", "8000"]
如果您连接了多个 J-Link 探针,请填写您的探针序列号。如果您仅调试一个目标设备,只需将该条目注释掉即可。
要设置 ARM GDB 工具链,只需在 launch.json 中添加 "armToolchainPath",该路径为您的 arm-none-eabi-gdb.exe 所在位置。
如需获取 Start_emPower.elf 文件,请进入 BSP/SEGGER/K66FN2M0_emPower 目录,使用 SEGGER Embedded Studio 编译 Start_SEGGER_emPower.emProject 项目。

注意:
MK66F18.svd 文件可在上述提供的 Keil 链接对应的 Keil.Kinetis_K60_DFP.1.5.0/SVD 目录下找到。将该文件夹复制到您的 EMPower 文件夹中。

设置现已全部完成。您只需按 F5 键,或从“调试”菜单中选择“开始调试”,即可启动调试。
如果您完成了上述步骤,应能看到以下输出结果。

左侧面板可查看调试相关的变量(局部变量、全局变量和静态变量)、监视窗口、调用堆栈、断点、微控制器外设以及内核寄存器。所有调试项目所需的基本和相关信息均在此处显示。
至此,您已可在 Visual Studio Code 中调试您的目标应用程序。
当您添加并设置好用于调试和编译的扩展后,Visual Studio Code 是一个不错的免费替代方案,可替代基于 Eclipse 的开发环境。
在上述配置中,我们仅添加了 "request": "launch" 选项,但如果您希望连接至运行中的目标设备,只需将其改为 "request": "attach" 即可。或者,您也可以添加一个额外的 .json 文件用于连接目标设备,并为其分配另一个快捷键,这样您就可以同时拥有两种调试选项。
如果您希望在 Visual Studio Code 中进行编译,网上有许多教程可以帮助您通过 ARM GCC 工具链设置开发环境。
教程至此结束。祝您在 Visual Studio Code 中使用 J-Link 调试愉快!
请注意,Visual Studio Code 的 J-Link 集成功能并非由 SEGGER 提供。因此,SEGGER 不提供任何关于特定设备设置的技术支持。本文仅为示例,应仅作为参考,不可作为适用于所有设置的通用指南。
联系我们
CONTACT INFORMATION
Windway Technology Hong Kong Limited
Phone: +852 695 952 92
Email: kuang@windway.cn
Add:ROOM 06 BLK A 23/F HOVER IND BLDG ,26-38 KWAI CHEONG RD KWAI CHUNG N.T
广州市风标电子技术有限公司
咨询热线:020 - 8600 3016 | 技术支持:15817074644
销售热线:18928802261 | 19868005704
公司邮箱:sales@windway.cn公司地址:广东省广州市黄埔区科珠路203号广东软件园F座401