Stlink:一套开源的调试/烧录神器,可以把代码直接写进 STM32 芯片,还能边写边调

 


STLink 是啥玩意儿?
别看名字拗口,其实它就是一套开源的「ST 官方」调试/烧录神器。用它可以把代码直接写进 STM32 芯片,还能边写边调,像玩游戏一样实时看变量、单步执行。市面上常见的 ST‑Link V1、V2、V2‑1、V3 全都被它一网打尽,硬件上不管是独立的编程器,还是开发板上自带的那块小芯片,都能直接上手。

它到底帮我们解决了哪些痛点?

痛点

传统办法

STLink 的解决方案

烧录慢

手动使用 ST‑CubeProgrammer,步骤多且经常卡死

一条 st-flash write … 命令,秒级完成

调试不便

需要昂贵的 JTAG 仪器,或是只能写不调

内置 GDB 服务器,VS Code 直接连上,免费又灵活

跨平台麻烦

Windows 下好用,Linux/Mac 要折腾编译

官方提供二进制包,Linux 直接 apt/yum 安装,Windows 直接解压即用

兼容性差

老旧 ST‑Link V1 常被官方弃用

开源社区持续维护,旧硬件仍能用,甚至还能刷固件升级

一句话:省时省力省钱,而且全程开源,想改功能直接上 PR,爽到飞起。


装吧,装吧,装它!

Windows

  1. 1. 去 GitHub Release 页面下载对应的 zip(32 位或 64 位都行)。

  2. 2. 解压到任意目录,建议搬到 C:\Program Files\stlink,免得路径太长。

  3. 3. 把 st‑flash.exe 所在文件夹加入系统环境变量 PATH,打开 CMD 输入 st‑info 验证一下,能看到芯片信息就算成功。

Linux/Unix

  • • Debian/Ubuntu:sudo apt install stlink-tools(如果想要最新功能,直接下载官方 .deb 包手动安装)。

  • • Arch:sudo pacman -S stlink。

  • • Fedora:sudo dnf install stlink。

  • • 其他发行版自行查找对应包,或者直接 git clone https://github.com/stlink-org/stlink && cd stlink && make && sudo make install。

使用小技巧

  • • 烧写固件:st-flash write firmware.bin 0x8000000(地址根据芯片型号不同,手册里查)。

  • • 读出 Flash:st-flash read backup.bin 0x8000000 0x100000。

  • • 启动 GDB:st-util & 然后在 VS Code 里配置 cortex-debug,点“启动调试”。

  • • 查看芯片信息:st-info --probe、st-info --serial,一眼就能知道连了哪块板子。


优缺点大盘点

优点

缺点

完全开源,社区活跃,更新快

官方不再维护 macOS(只能用老版 1.7)

支持所有 ST‑Link 硬件代数

Windows 版只有 32 位二进制,需要手动加到 PATH

命令行工具轻量,脚本化友好

对新手来说命令行参数稍显多,需要查文档

可配合 GDB、OpenOCD、IDE,灵活度高

某些老旧芯片(如 STM8)不在官方支持列表,需要自行补丁

免费,不像商业 JTAG 那样收费

对于极端高速调试需求(TracePort)功能有限

总体来说,如果你是 STM32 小白或者资深玩儿子,STLink 都是必备神器。它把“烧录+调试”这两个本来要花钱买硬件的环节,压缩进了一个小小的 USB 设备里,而且全程免费。


总结一下

  • • STLink:开源、跨平台、支持多代硬件。

  • • 解决:烧录慢、调试贵、跨平台难、旧硬件失效等痛点。

  • • 装法:Windows 下载解压,Linux 直接包管理器或源码编译。

  • • 用法:st-flash、st-info、st-util 三大核心命令,配合 GDB 完全够用。

  • • 优缺点:免费、灵活、社区活跃;但 macOS 支持已停、部分高级功能受限。

只要你手里有一根普通的 ST‑Link,配上这套工具,STM32 开发从此不再是“高不可攀”的技术活,而是像刷手机系统一样随手可得。快去试试吧,别让你的板子孤单等着被烧录!

项目地址:https://github.com/stlink-org/stlink

 

发表评论