ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

JLINK V9.4资料详解:从PCB打样到固件烧录救砖全攻略

JLINK V9.4资料详解:从PCB打样到固件烧录救砖全攻略

简介:面向嵌入式开发者的 JLINK V9.4 全流程资料包,特别适合需要学习仿真器硬件设计、固件维护或调试工具的工程师。压缩包共68个文件,约58.12MB,内容覆盖PCB与原理图设计文件(pcbdoc、pcblib、schdoc)、自动升级所需固件(dfu、bin、bootloader)、驱动与工具(exe、dll、inf/sys),以及pdf、docx、txt等格式的说明文档。从硬件布局布线、电源管理到STM32的DFU升级流程均有涉及,教程部分还提供从设备连接、程序下载到固件烧写与SN添加的完整指引。已有1322人学习,对希望自制或维修JLINK、深入了解其内部工作机制的开发者是不错的参考资料。

1. 一份 JLINK-V9.4 全部资料到底值不值得花一周去焊、去烧、去救砖

手里那台 JLINK V9 仿真器突然“无法识别”,换台电脑也一样,驱动重新装了遍还是枚举失败——这种经历做嵌入式的多少都碰过。JLINK-V9.4 全部资料(含 PCB 与自动升级固件,还有教程)这个资源包,本质上是把仿真器的硬件图纸、固件恢复路径和操作教程打包在一处,让一块变砖的 V9 有机会自己救回来,也让想从头焊一块自用仿真器的人有一条完整的落地路线。它解决的不是“多一种玩具”,而是“手里的工具能不能继续干活”的问题:适合手上已有 V9、V9.4 但固件刷坏或芯片锁死的开发者,也适合想低成本自制调试器、又不想踩一遍方案坑的硬件工程师。资料包里真正值钱的不是那几个文件,而是“主控选型、PCB 走线、升级固件、救砖顺序”这一整套连带信息。

2. 先看懂 V9.4 这套方案再动手:版本差异、文件结构与硬件选型判断

2.1 资料包的正确打开方式:先核文件清单,再定烧录与焊接路线

下载解压之后别急着开打样软件,先按目录过一遍文件。常见结构是 PCB 设计源文件(或 Gerber 导出包)、原理图 PDF、固件 bin、自动升级工具或 bootloader 镜像、烧录教程文档。我一般会先把“固件文件”和“烧录说明”找出来读,因为这两个直接决定后续操作能不能走通。

  • 固件文件确认扩展名:.bin 是裸烧录镜像,直接定地址写入;.hex 是 Intel HEX 格式,自带地址信息,烧录工具会自动解析。
  • 确认 bootloader 与 APP 是否分离:V9.4 的“自动升级固件”通常指 bootloader 先跑起来,连上上位机后自动拉取 APP 部分。如果资料包里同时有 boot_xxx.bin 和 app_xxx.bin,烧录顺序就是先 boot 后 app。
  • 教程文档打开后先看“固件版本与硬件版本对应关系”那一页,老版本 PCB 和新固件混搭,轻则功能缺失,重则枚举失败。
  • 原理图 PDF 用来核对后续焊接和测量点位,建议在阅读器里把电源、主控、USB 三块单独标记出来。

这套动作的目的是在动手前把“要烧什么、烧到哪、顺序怎样”变成一张操作单,而不是边做边猜。资料包做得再全,如果自己没按这个顺序确认,后面还是会在固件地址或线序上返工。

2.2 V9 与 V9.4 的硬件差异:主控、电平接口、供电三处决定你焊什么

很多资料包标题写 V9.4,但里面混着不同版本的原理图,或者画的是 V9 的板子配了 V9.4 的固件。V9.4 相对早期 V9 的改版,典型差异集中在三个地方。

  • 主控方案:多数 V9.4 资料基于某款 ARM7 内核 MCU(常见的是 AT91SAM7S64 这类型号,资料包原理图里会写明具体丝印),早期 V9 还有用其他主控的版本。主控不同,固件完全不通用,烧错了芯片直接锁死。
  • 电平接口:V9.4 对外调试接口的电压域和参考电平做了调整,如果你手里的是 V9 老板子,按 V9.4 的接线定义去焊排针,可能导致目标板电压检测异常。
  • 供电路径:V9.4 通常把 USB 5V 经 DCDC 降到内部电压,再经 LDO 给 MCU 和接口供电。有的资料包把这两种供电画在两张图上,焊接时电源芯片选型要对着 BOM 表来,不能只看封装一样就焊。

判断资料包对应的是哪个版本,最直接的方法是看主控丝印与晶振频率。打开 Gerber 的丝印层,找到主控位置,再对照资料包里的 BOM 清单确认型号。别嫌这一步麻烦,我见过有人按 V9.4 固件烧进 V9 板子,结果是主控锁死,最后只能拆芯片换新。

2.3 自检硬件版本:三个测量点确认你的板子能跑 V9.4 固件

在没有示波器只有万用表的情况下,也能判断板子是否匹配 V9.4 固件。上电前先测三个点位,速度快且不伤硬件。

  • 测电源输出:找到 DCDC 输出电感和 LDO 输出电容,上电后测电压是否在 BOM 标注范围内。偏差超过 5% 不要继续,先查电源芯片的反馈电阻。
  • 测主控供电脚:直接在主控芯片的电源引脚上量电压,避免从 LDO 输出点测得正常但走线断掉的情况。
  • 测晶振起振:用万用表频率档或示波器探头测晶振引脚,V9.4 常用频率是 12MHz 或 18.432MHz,测不到波形就检查晶振负载电容和焊接。

这三点都通过后,再谈烧固件。很多人一上来就短接 ERASE 去烧录,结果板子电源本身有问题,烧录工具能连上但写入校验失败,来回折腾好几轮才发现是供电不足。

3. 从资料包到实板:PCB 打样与 BOM 落地的关键动作

3.1 Gerber 与钻孔数据检查清单:打样前必做的四项核对

PCB 打样是资料包落地最直接的一步,但 Gerber 文件直接丢给厂家是个常见翻车点。拿到资料包的 Gerber 压缩包后,先解压看文件后缀和层数是否完整,再按下面四项核对。

  • 层数与铜厚:常规 2 层板做 1.6mm 板厚、1oz 铜厚即可,V9.4 这类低速数字电路不需要 4 层板。若资料包标注了阻抗要求,比如 USB 差分线,才需要跟厂家确认阻抗控制。
  • 钻孔文件是否存在:Gerber 里如果没有 .drl 文件,厂家会退回让你补。把钻孔文件用独立查看器打开,检查过孔数量是否和原理图匹配。
  • 丝印完整性:主要看主控方向、USB座子丝印、排针 1 脚标记是否清晰。丝印缺失会导致焊接时方向搞反。
  • 板框尺寸与定位孔:检查板框层有没有闭合,定位孔是否落在板内。有些资料包的板框是分段的,不闭合会直接打样失败。

我一般会把这些信息整理成一张打样备注表,连同 Gerber 一起发给厂家。备注写清楚“板厚 1.6mm,铜厚 1oz,表面处理喷锡,颜色随意”,这样厂家不用来回问,出货也快。打样回来后第一件事是目视检查:主控引脚有没有氧化、USB 座子焊盘有没有对齐、板边有没有毛刺。板子没问题再进焊接流程,省得焊完了才发现 PCB 本身有瑕疵。

3.2 BOM 核对与关键器件选型:五类元件决定稳定性

PCB 板回来后,下一步是核对 BOM 和准备物料。DCDC、LDO、ESD 保护、主控、晶振这五类是 V9.4 稳定运行的关键,选型时不要随意替换。

类别在电路中的作用核对要点
DCDC 芯片将 USB 5V 降到内部主电压确认封装、电感值、反馈电阻值是否与资料包原理图一致
LDO给主控和接口提供低纹波电源核对输出电容容值,钽电容极性不能装反
ESD 保护保护 USB 数据脚和调试接口确认是双向 TVS,封装匹配,方向按原理图标示
主控 MCU运行 bootloader 与仿真协议丝印核对,不能只看封装相同就替换
晶振提供主控时钟频率必须精确等于原理图标注值,负载电容按规格书配

手工焊接时,DCDC 芯片的散热焊盘最容易虚焊,表现为上电后无输出或输出纹波大。焊完后用放大镜或手机微距检查焊盘四周是否有锡珠。晶振旁边的两个负载电容容值装错,会导致起振困难或者频率偏差,进而烧录器枚举速度慢或者连接不稳定。ESD 方向装反的话,USB 插入瞬间可能直接把数据线拉低,现象是电脑能识别到设备但一建立连接就断开。

物料备齐后按电阻、电容、小封装 IC、大封装 IC、座子的顺序焊。先焊电源部分,再焊主控,最后焊 USB 座和排针。每焊完一个模块就目视检查一次,避免全部焊完才发现桥连。

3.3 第一次上电自检:不上仿真器,先量三处电压再插 USB

焊接完成后的第一次上电,不要直接插电脑,先用稳压电源或 USB 电流表供电观察电流。电流在几十到一百毫安左右说明基本正常,如果上电就几百毫安甚至短路保护,马上断电查电源走线。

  • 测 DCDC 输出:对照原理图上的测试点,电压误差在 3% 以内算合格。
  • 测 LDO 输出:如果 DCDC 正常但 LDO 无输出,检查 LDO 的使能脚有没有被拉高,很多 LDO 的 EN 脚悬空是不会工作的。
  • 测主控供电脚:主控电源引脚的电压稳定后,再测复位脚电平是否正确,常见设计是上电后复位脚被拉高,若一直是低电平则查复位电路。

这三处量完再接 USB 线到电脑。如果 Windows 设备管理器出现未知设备,说明 USB 枚举已经走到一半,至少硬件通路是通的,接下来就是固件层面的活了。

4. 固件烧录与自动升级:把 V9.4 资料包的 bin 文件正确写进芯片

4.1 进入烧录状态:短接 ERASE 引脚与供电时序是第一步

V9.4 的固件恢复流程最经典的操作是短接 ERASE。这个引脚一般从主控引出,在 PCB 上标为 ERASE 或 E,有的资料包把它设计成一个测试点。短接它再上电,主控会擦除固件区并进入可烧录状态,类似手机的“引导模式”。

实际操作顺序是:先断电,把 ERASE 测试点和 GND 短接,然后插 USB 上电,保持短接状态约 5 秒。这时设备管理器里会出现一个新的 USB 设备,通常是“Unknown Device”或专门的烧录接口。出现后断开短接,但保持 USB 供电,不要断电。接下来用烧录工具连接并写入固件。

注意一个细节:短接 ERASE 之后,主控的固件区已经被清空,如果此时供电不稳定导致烧录中断,芯片并不会立刻锁死,只要重复“短接 ERASE 再上电”就能重新进入烧录状态。真正怕的是后续写入固件后没有执行解锁操作,直接运行会导致新固件无法覆盖,那才是麻烦的开始。

4.2 用命令行一次写对:J-Link Commander 的烧录脚本与参数含义

烧录工具选择按资料包说明来,但命令行操作方式通用性最高。我习惯用 J-Link Commander 配合脚本文件,把解锁、擦除、写入、校验四步串起来,避免在图形界面里点错。脚本内容类似下面的写法:

# flash.jlink -- V9.4 固件烧录脚本 # 设备类型按资料包原理图中的主控型号填写 device = AT91SAM7S64 # 接口用 JTAG,速度先降下来,稳定后再提速 if = JTAG speed = 4000 # 解锁芯片,防止写保护导致写入失败 unlock # 全片擦除,确保旧固件残留不影响新固件 erase # 写入固件镜像,注意地址必须与资料包标注一致 loadfile V9.4_firmware.bin 0x0 # 校验写入结果 verifybin V9.4_firmware.bin 0x0 # 复位并运行 r g exit

脚本写好后,命令行执行:

JLink.exe -device AT91SAM7S64 -if JTAG -speed 4000 -CommanderScript flash.jlink

这里的 device 参数必须和实际型号一致,填错会导致连接失败或擦除错误地址。speed 4000 表示 4MHz 的 JTAG 时钟,如果连接不稳定,降到 1000 甚至 500 再试。loadfile 后面的 0x0 是固件加载基地址,这来自资料包的说明文档,不要凭感觉改。verifybin 是写入后的校验步骤,一定不能省,它能发现写入过程中被中断导致的不完整数据。

如果资料包自带的烧录工具是图形界面的,过程也一样,只是把上面的脚本参数换成界面里的下拉选项。本质逻辑不变:先解锁,再擦除,再写,再校验。

4.3 自动升级固件的工作机制:bootloader 与 APP 的分工与切换

V9.4 资料包里的“自动升级固件”,严格说是 bootloader 加 APP 的组合。bootloader 放在芯片的低地址区,上电后先跑,检测 USB 是否有升级指令;如果检测到合法指令,就从固定地址加载新 APP 并写入,然后跳转到 APP 运行。整套机制让后续固件更新不需要再短接 ERASE,直接连上位机就能升级。

  • 如果资料包只提供一个 .bin 文件,说明 bootloader 和 APP 已经合并成一个镜像,烧录时直接写 0x0 地址即可。
  • 如果分开提供 boot.bin 和 app.bin,先烧 boot 到 0x0,再烧 app 到资料包指定的偏移地址。这个偏移地址通常在文档里有明确表格,写错的话 bootloader 找不到 APP,表现是上电后设备反复枚举但始终不稳定。
  • “自动升级”过程中如果断电或拔线,APP 区写入不完整,但 bootloader 还在,下次上电仍能重新进入升级等待状态。前提是 bootloader 本身没被破坏,这也是为什么很多人建议平时只更新 APP,不要轻易动 bootloader。

5. JLINK V9.4 避坑指南:锁死、虚焊、升级中断的排查路数

5.1 电脑认不出设备,设备管理器只有感叹号

现象:短接 ERASE 上电后,电脑完全没有反应,或设备管理器出现带感叹号的未知设备,驱动安装也失败。

原因排查:头号原因是 USB 数据线的 D+ / D- 焊反或虚焊,万用表量通断时看走线是否和原理图一致;第二常见的是主控供电只有电压没有电流,说明主控根本没工作;第三是晶振没起振,主控时钟都没有,USB 枚举自然失败。

解决:先用万用表量 USB 座子到主控引脚的 D+ / D- 通断,排除焊接问题;然后用示波器或频率档测晶振,确认起振;最后量主控复位脚电平,确认不是一直处于复位状态。这三步按顺序做,90% 的枚举问题能定位。

5.2 固件写入后芯片被锁死,下次连接直接报错

现象:固件烧录成功,校验也通过,但拔插 USB 后再连,报错显示无法连接,或者提示目标设备受保护。

原因:烧录完成后没有执行解锁操作,导致新固件运行后把 flash 区设为写保护;或者烧录时勾选了“保护”选项,把整个扇区锁上了。

解决:重新走一遍“短接 ERASE 上电”的流程,进入烧录模式后,先用命令行工具执行 unlock,再擦除,再重新烧录。重点是把 unlock 放在 erase 之前。如果短接 ERASE 后依然连不上,检查主控的 TST 引脚或其它进入烧录模式的辅助引脚,有的方案需要同时短接两个引脚才能彻底解锁。

5.3 自动升级后设备反复断开重连,像在“无限重启”

现象:固件下载完成后,仿真器指示灯闪烁,设备在电脑上出现又消失,循环反复。

原因:bootloader 和 APP 的地址不匹配是最常见原因。APP 被烧到了错误偏移地址,bootloader 跳转过去发现内容不是合法固件头,于是退回等待升级状态,上位机又判断为升级未完成,再次尝试,循环往复。

解决:核对资料包文档里的 APP 偏移地址,重新按照 boot 到 0x0、app 到偏移地址的顺序烧写。烧完后先不要拔 USB,观察设备是否稳定枚举一次,稳定后再断电重启验证。

5.4 目标板连接正常但烧录速度极慢,偶尔还超时

现象:V9.4 能识别目标芯片,但擦写速度比正常慢一半以上,大固件经常报超时错误。

原因:JTAG/SWD 速度设置过高而线缆过长,导致信号反射和数据错误重传;更多时候是 DCDC 输出纹波太大,影响了主控 IO 的电平判断,数据线上噪声多,协议层反复重试。

解决:先把软件连接速度降到 1000kHz 验证是否改善,如果改善说明是线缆或信号完整性问题,整理线缆、缩短杜邦线距离;如果降速后依旧慢,用示波器测 DCDC 输出纹波,纹波超过 50mV 就检查输出电容和电感是否焊对,替换成低 ESR 电容能解决大部分问题。

6. 验证与进阶:把自制 V9.4 用到日常调试里的三个习惯

6.1 功能验证清单:从枚举到断点的五步确认

烧录完成后不要直接干活,先按清单验证一遍,确认自制 V9.4 不是“能连上但不好用”。我的验证顺序是:先识别设备,再连接目标板,再做整片擦除和写入回读,然后设断点,最后跑一次 RTT 日志输出。每一步都通过再进正式调试流程。

这几步里,整片擦除和写入回读是最能暴露问题的。有些板子连接正常但数据线驱动能力弱,小数据量没问题,擦除大片 flash 就出错。这时回到第 4 章的烧录流程重查焊接和电源,而不是怀疑固件有 bug。

6.2 进阶玩法:自定义序列号与锁定升级开关

V9.4 资料包里如果提供了配置工具或文档,常见进阶操作是把仿真器的序列号改成自己习惯的编号,方便多台设备区分管理。操作方式是用上位机软件连接后,在配置界面写入新序列号,保存后重启生效。另一个值得做的设定是关闭自动在线升级——如果你的开发环境对工具版本敏感,自动拉新固件可能带来行为变化,关闭后改成手动升级更可控。

我现在拿到一块 V9.4 板子,无论新焊的还是别人给的,第一件事永远是短接 ERASE 上电跑一遍枚举,确认能进入烧录模式再谈别的。这已经成了肌肉记忆,因为这个动作能在五分钟内判断板子是不是“能用”,比看原理图猜快得多。资源包里的教程和文件都是死内容,真正让 V9.4 稳定跑起来的,是每次动手前把电源、晶振、地址这三个变量确认清楚。希望你也能用自己的手把这块砖救活,希望帮到你。

本文还有配套的精品资源,点击获取

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进