2. 烧录环境搭建:硬件连接与软件驱动
烧录环境搭建,说白了就是让烧录器、目标板和你的电脑能正常“对话”。这一步要是没做好,后面排查异常会非常痛苦。我见过太多工程师花一整天找烧录失败的原因,最后发现是探针没扎稳,或者驱动装错了版本。
咱们这一章,就把硬件连接、驱动安装、通信协议确认这三个环节拆开揉碎了讲。你跟着我的思路走一遍,基本不会出大问题。
2.1 硬件连接:烧录器、转接板、探针治具
硬件连接是烧录环境的地基。地基不稳,后面全是白搭。
2.1.1 烧录器选型与连接
量产烧录常用的烧录器就那么几种:J-Link、ST-Link、DAP-Link、以及各家芯片原厂的专用烧录器。我个人习惯,量产线优先用J-Link或者DAP-Link,稳定,兼容性好。
连接烧录器时,注意这几点:
- USB线质量:别用那种细得像面条的USB线。我在产线上遇到过烧录到一半掉线,换了一根带磁环的粗线就稳了。
- 供电能力:烧录器本身供电有限。如果目标板功耗大,必须外接电源。我曾经因为没外接电源,烧录器电压被拉低,导致烧录校验失败。
- 接口方向:SWD/JTAG接口的排线,注意1脚对齐。插反了轻则烧录失败,重则烧毁IO口。
2.1.2 转接板的作用与选择
转接板,就是把烧录器的接口转换成目标板需要的接口。比如J-Link是20pin的IDC座,但你的板子可能是10pin的SWD座,或者干脆是2.54mm的排针。
转接板的选择原则很简单:
- 信号一一对应:SWDIO、SWCLK、GND、VCC、RESET,这5根线必须直通。
- 不要引入额外电容:有些劣质转接板,PCB走线长,寄生电容大,会影响SWD时钟信号。我建议用短走线的转接板,或者直接飞线。
- 带ESD保护:量产环境静电多,转接板上带TVS管会安全很多。
2.1.3 探针治具的设计要点
探针治具是量产烧录的核心。它决定了烧录效率和质量。
设计探针治具时,我总结了几条铁律:
- 探针选型:用弹簧探针(Pogo Pin),接触压力在100g-200g之间。压力太小接触不良,压力太大容易压坏焊盘。
- 探针布局:探针必须对准板上的测试点或焊盘。我建议在治具上做定位销,确保每次放置位置一致。
- 接地要可靠:GND探针至少2根,最好分布在SWD接口两侧。接地不好,烧录时信号容易受干扰。
- 预留RESET信号:很多芯片烧录时需要硬件复位。RESET探针必须单独引出,不要和GND共用。
2.2 软件驱动安装
硬件连好了,接下来就是让电脑认识烧录器。驱动安装看似简单,但坑不少。
2.2.1 驱动版本匹配
不同烧录器需要不同的驱动:
| 烧录器类型 | 驱动名称 | 注意事项 |
|---|---|---|
| J-Link | J-Link驱动(SEGGER) | 版本V6.x以上支持SWD高速模式 |
| ST-Link | ST-Link驱动(ST官方) | V2版本和V3版本驱动不通用 |
| DAP-Link | CMSIS-DAP驱动 | Windows 10以上系统免驱,Win7需手动安装 |
| 专用烧录器 | 芯片原厂提供 | 必须使用指定版本,否则可能烧录失败 |
安装驱动时,我建议先卸载旧版本,再安装新版本。驱动冲突是烧录软件识别不到烧录器的常见原因。
2.2.2 驱动安装验证
驱动装好后,怎么确认装对了?
- 设备管理器:打开Windows设备管理器,看“通用串行总线设备”或“Jungo”分类下,有没有烧录器设备。如果出现黄色感叹号,说明驱动有问题。
- 烧录软件识别:打开烧录软件(如J-Flash、STM32CubeProgrammer),看能否检测到烧录器。如果提示“No emulator connected”,先检查驱动,再检查硬件连接。
2.3 通信协议确认:SWD、JTAG、UART
硬件连好了,驱动装好了,接下来要确认用什么协议和芯片通信。选错协议,烧录器根本连不上芯片。
2.3.1 SWD vs JTAG
SWD(Serial Wire Debug)和JTAG是两种最常见的调试/烧录协议。它们的区别如下:
| 特性 | SWD | JTAG |
|---|---|---|
| 引脚数 | 最少2根(SWDIO+SWCLK) | 最少4根(TMS+TCK+TDI+TDO) |
| 速度 | 最高可达几十MHz | 受限于TAP控制器,通常比SWD慢 |
| 适用场景 | 量产烧录、调试 | FPGA配置、多核调试 |
| 兼容性 | ARM Cortex-M全系列支持 | ARM、FPGA、DSP等广泛支持 |
量产烧录,我强烈推荐用SWD。原因很简单:引脚少,速度快,稳定。JTAG虽然功能多,但引脚多,容易接错,而且速度上不去。
2.3.2 UART烧录的特殊情况
有些芯片(比如ESP32、某些低端MCU)支持通过UART烧录。UART烧录不需要SWD/JTAG接口,只需要TX、RX、GND三根线。
UART烧录的注意事项:
- 波特率匹配:烧录软件和芯片的波特率必须一致。我建议用115200或921600,太高容易丢包。
- 硬件流控:一般不需要RTS/CTS,但如果芯片有要求,必须接上。
- 自动复位电路:UART烧录通常需要芯片进入Bootloader模式。这需要DTR/RTS信号控制复位和BOOT引脚。我建议在转接板上集成自动复位电路,省去手动操作的麻烦。
2.3.3 如何确认芯片支持的协议
拿到一块新板子,怎么知道它支持什么协议?
- 看芯片手册:芯片手册的“Debug”或“Programming”章节会明确说明支持的协议。
- 看原理图:原理图上SWDIO/SWCLK引脚,或者JTAG的TMS/TCK引脚,就是烧录接口。
- 看PCB测试点:量产板通常会在PCB上预留测试点,标注了SWD或JTAG。
- 用烧录软件自动检测:J-Flash等软件有“Auto Detect”功能,可以自动识别芯片和协议。
2.4 知识体系总览
为了让你更直观地理解烧录环境搭建的完整流程,我画了一张图:
这张图把烧录环境搭建的三个核心环节串起来了。硬件连接是基础,软件驱动是桥梁,通信协议是规则。三者缺一不可。
嗯,到这里,烧录环境搭建的内容就讲完了。你按照这个流程走一遍,基本不会出大问题。如果遇到异常,别慌,后面几章我会专门讲怎么排查和解决。