环境准备:安装J-Link驱动、配置系统PATH、验证命令行工具是否可用

做嵌入式烧录,J-Link 基本算是标配工具了。不管你是用 Segger 原厂货,还是某宝上几十块的兼容版,驱动装不对,后面全是坑。这一章咱们就把环境彻底搞定。

我个人习惯是先把驱动装好,再配 PATH,最后跑几个命令验证一下。三步走,稳得很。

2.1 下载与安装 J-Link 驱动

去 Segger 官网下载 J-Link Software and Documentation Pack。别下错了,Windows 就选 Windows 版,Linux 选 Linux 版,macOS 也有对应的包。

版本选择建议: 我建议用 V7.x 以上的版本,对新型号芯片支持更好。V6.x 虽然稳定,但有些新出的 Cortex-M33 内核可能认不全。

安装过程很简单,一路 Next 就行。但有几点我踩过坑:

  • 安装路径不要有中文 —— 有些 IDE 插件解析路径会乱码
  • 勾选 "Add J-Link to the system PATH" —— 省得后面手动配
  • USB 驱动也要装 —— 如果弹出 "Segger USB Driver" 安装提示,点同意

装完之后,设备管理器里应该能看到 "J-Link" 或者 "Segger J-Link" 设备。如果显示黄色感叹号,那就是驱动没装好,右键更新驱动试试。

2.2 配置系统 PATH 环境变量

如果你安装时忘了勾选那个 PATH 选项,或者像我一样喜欢手动控制,那就自己配一下。

为什么要配 PATH?说白了,就是让系统能在任何目录下直接敲 JLinkExe、JLinkGDBServer 这些命令。不然每次都要 cd 到安装目录,烦不烦?

Windows 配置步骤

  1. 右键"此电脑" → 属性 → 高级系统设置 → 环境变量
  2. 在"系统变量"里找到 Path,双击编辑
  3. 新建一行,填入 J-Link 安装目录(默认是 C:\Program Files\SEGGER\JLink)
  4. 确定保存,重启命令行窗口

Linux / macOS 配置步骤

编辑 ~/.bashrc 或 ~/.zshrc,添加一行:

export PATH=$PATH:/opt/SEGGER/JLink

然后 source ~/.bashrc 让它生效。

注意: Linux 下 J-Link 驱动默认安装到 /opt/SEGGER/JLink,但有些发行版可能装到 /usr/bin。用 which JLinkExe 确认一下。

2.3 验证命令行工具是否可用

环境配好了,咱们来验证一下。打开命令行(Windows 用 cmd 或 PowerShell,Linux/macOS 用终端),敲下面几个命令:

JLinkExe -v
JLinkGDBServer -v
JLinkSWOViewer -v

如果每个命令都能打印出版本号,说明环境没问题。如果提示 "command not found" 或者 "不是内部或外部命令",那就是 PATH 没配好,回去检查一下。

我记得有一次帮同事排查,他明明装了驱动,但 JLinkExe 就是跑不起来。后来发现他装的是 32 位版本,系统是 64 位的,路径里多了个 (x86) 后缀。嗯,这种细节最容易忽略。

快速验证清单

命令 预期输出 作用
JLinkExe -v 显示版本号,如 V7.94 命令行烧录工具
JLinkGDBServer -v 显示版本号 GDB 调试服务器
JLinkSWOViewer -v 显示版本号 SWO 数据查看器
JLink -device STM32F103C8 -if SWD -speed 4000 -autoconnect 1 连接成功,显示目标芯片信息 实际连接测试

最后一条命令是实际连接测试。把 J-Link 插到电脑上,接好目标板,运行一下。如果能识别出芯片型号,那恭喜你,环境准备彻底搞定。

避坑指南: 我曾经遇到过 JLinkExe 能运行,但连不上目标板。折腾半天发现是 USB 线的问题——那根线只能充电,不能传数据。换根带屏蔽的数据线就好了。所以,如果连不上,先换线试试。

2.4 知识体系总览

下面这张图把环境准备的整个流程串起来了,你可以对照着检查自己走到哪一步了。

J-Link 环境准备流程 ① 下载驱动包 Segger 官网下载 ② 安装驱动 勾选 PATH 选项 ③ 验证设备 设备管理器检查 PATH 是否已配? 是 → 直接验证 是 否 → 手动配置 否 编辑系统 PATH 运行验证命令 ✅ 环境准备完成 JLinkExe / JLinkGDBServer 可用 💡 提示:如果验证失败,优先检查 USB 线缆和驱动版本

这张图把整个流程分成了三个大阶段:下载安装、PATH 配置、命令验证。中间有个判断节点——如果你安装时勾选了 PATH,直接跳到验证;没勾选就手动补上。最终目标就是让 JLinkExe 和 JLinkGDBServer 能在任意目录下直接调用。

2.5 常见问题与解决

  • JLinkExe 提示 "Cannot connect to J-Link" —— 先看设备管理器有没有识别到设备,没有就重装驱动
  • Linux 下提示 "libusb error" —— 需要安装 udev 规则,执行 sudo cp /opt/SEGGER/JLink/99-jlink.rules /etc/udev/rules.d/ 然后 sudo udevadm control --reload-rules
  • macOS 下提示 "kext not loaded" —— 去系统设置里允许 Segger 的内核扩展加载

环境准备这块,说白了就是一次性的体力活。但千万别小看它——我见过太多人后面烧录脚本跑不通,最后发现是驱动版本不对或者 PATH 没配好。花十分钟把这一步做扎实,后面几十章都能省心。