前言
此前在Keil集成IDE环境下开发,编辑编译调试一体化,无须关心过多底层事项。但由于各种原因,需要经常在Linux环境开发,因此也就顺势把工作中MCU开发的相关项目搬到WSL下了,本人使用的是arm-none-eabi-gcc
工具链,构建方式为Make
,编辑开发方式为 VSCode + Remote Explorer,调试器硬件为 ARM V9 仿真器,调试接口为 SWD。
其实本人一直很少使用在线调试,一般是通过 串口 信息打印作为维测方法,只要在模板工程成功运行之后,基本就不需要在线调试了。但初次移植、或者搭建工程,程序异常跑飞,甚至串口都无信息输出的情况下,或许就需要在线调试查找原因了。
本文介绍一种简单的 通过 VSCode + J-Link 调试方法,此过程基本不涉及任何 GDB 命令,纯粹是 VSCode 集成的 GDB 界面操作。
软件环境准备
- Windows下J-Link软件安装
- WSL
- VSCode
- 插件安装:C/C++, WSL,
以上,前提条件是需要先搭建好在 WSL 下的编译开发环境,主要为arm-none-eabi-
工具链安装。
配置调试的思路为:
- 在Windows下打开
JLinkGDBServer.exe
,配置将调试器成功连接目标板,J-Link本地流量端口通常为 2331 - 使用 VSCode 登陆 WSL,应用其
Run and Debug
功能,主要为配置launch.json
文件,包括*.elf
文件路径、arm-none-eabi-gdb
命令路径等
完成上述两点操作,即可在 VSCode 环境下开启 GDB 调试了
操作步骤
- 将ARM仿真器与目标嵌入式设备连线
- 在Windows下J-Link的安装目录下,找到
JLinkGDBServer.exe
,点击打开,选择目标调试嵌入式设备
- 在Windows下使用VSCode登陆WSL,打开源码所在工程文件夹,作为VSCode工作区
- 点击”Run and Debug”,选择GDB(C)调试,并提示需要配置launch.json文件,配置完成即可开始调试
1 | #launch.json文件 |