STLink 是啥玩意儿?
别看名字拗口,其实它就是一套开源的「ST 官方」调试/烧录神器。用它可以把代码直接写进 STM32 芯片,还能边写边调,像玩游戏一样实时看变量、单步执行。市面上常见的 ST‑Link V1、V2、V2‑1、V3 全都被它一网打尽,硬件上不管是独立的编程器,还是开发板上自带的那块小芯片,都能直接上手。
它到底帮我们解决了哪些痛点?
|
痛点 |
传统办法 |
STLink 的解决方案 |
| 烧录慢 |
手动使用 ST‑CubeProgrammer,步骤多且经常卡死 |
一条 |
| 调试不便 |
需要昂贵的 JTAG 仪器,或是只能写不调 |
内置 GDB 服务器,VS Code 直接连上,免费又灵活 |
| 跨平台麻烦 |
Windows 下好用,Linux/Mac 要折腾编译 |
官方提供二进制包,Linux 直接 apt/yum 安装,Windows 直接解压即用 |
| 兼容性差 |
老旧 ST‑Link V1 常被官方弃用 |
开源社区持续维护,旧硬件仍能用,甚至还能刷固件升级 |
一句话:省时省力省钱,而且全程开源,想改功能直接上 PR,爽到飞起。
装吧,装吧,装它!
Windows
-
1. 去 GitHub Release 页面下载对应的 zip(32 位或 64 位都行)。
-
2. 解压到任意目录,建议搬到
C:\Program Files\stlink,免得路径太长。 -
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