目前有第三方插件可支持通過 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 不提供任何關于特定設備設置的技術支持。本文僅為示例,應僅作為參考,不可作為適用于所有設置的通用指南。