编译与下载
1. 编译
在 VS Code 中配置 CMake 后执行构建:

关注两件事:
- 退出码为成功,没有 error
- POST_BUILD 若配置了
size,看一眼 Flash/RAM 占用是否异常飙升
产物目录因生成器与配置名而异,常见在 build/ 或 build/Release/ 下的 .elf / .hex / .bin。
下载脚本必须指向真实存在的文件。
2. 确认 ST-Link 与接线
再次核对:
- CLK ↔ CLK,DIO ↔ DIO,GND ↔ GND,3V3 ↔ 3V3
- 板子上电
- 系统能识别 ST-Link(设备管理器 /
lsusb等)
3. 下载
运行工程里的 flash.bat(或你的 shell 等价脚本):
.\flash.bat

CLI 典型含义:
-c port=SWD:SWD 连接-w xxx.hex:写入-v:校验(建议保留)-rst:复位运行
成功后核心板应按你写的逻辑闪烁。
图形界面备选
也可用 STM32CubeProgrammer 图形界面选 hex 下载;团队协作时更推荐脚本化,减少「我本地点的选项和你不一样」。
4. 修改代码后的循环
养成固定节奏:
改 USER CODE → 编译 → 确认 hex 更新时间 → 下载 → 看现象
若「明明改了却没变化」:
- 是否编译到了正在下载的那个 hex?
- 是否下载成功且复位运行?
- 是否下到了另一块板 / 另一个工程目录?
5. 和「做完」的关系
嵌入式上的「做完」至少包括:
- 源码在保护区里,能重新生成
- 一键或一脚本可编译、可下载
- 现象与注释/命名一致(低电平点亮就别写反了还假装没看见)
更完整的交付习惯可对照站内 完成定义(软件项目通用,嵌入式同样适用「可验证、可交接」)。
若下载或编译失败,见 卡住时。