目录
- 前言
- 前置使用条件
- 一、固件烧录命令
-
- [1.1 基础烧录(HEX文件)](#1.1 基础烧录(HEX文件))
- [1.2 烧录+后置校验(防写入错误)](#1.2 烧录+后置校验(防写入错误))
- [1.3 烧录+校验+自动复位(高频使用)](#1.3 烧录+校验+自动复位(高频使用))
- [1.4 整片擦除后烧录](#1.4 整片擦除后烧录)
- [1.5 预检测烧录(重复固件跳过)](#1.5 预检测烧录(重复固件跳过))
- [1.6 BIN文件烧录(需指定基地址)](#1.6 BIN文件烧录(需指定基地址))
- 二、芯片复位命令
-
- [2.1 复位目标MCU芯片](#2.1 复位目标MCU芯片)
- 三、闪存擦除命令
-
- [3.1 整片闪存擦除](#3.1 整片闪存擦除)
- 四、固件校验命令
-
- [4.1 独立回读校验](#4.1 独立回读校验)
- 五、设备与芯片信息查询
-
- [5.1 列出所有已连接调试器](#5.1 列出所有已连接调试器)
- [5.2 查看探针与目标芯片详细信息](#5.2 查看探针与目标芯片详细信息)
- [5.3 查询支持的芯片型号列表](#5.3 查询支持的芯片型号列表)
- 六、固件烧录后直接运行(仅ELF格式)
- 七、常用可选参数对照表
- 八、使用注意事项
前言
probe-rs 是一款基于 Rust 开发的跨平台开源嵌入式烧录/调试工具,替代传统 OpenOCD,支持 ARM、RISC-V 主流MCU,兼容J-Link、CH347、ST-Link、FTDI、DAPLink等调试器,具备烧录、擦除、校验、在线调试、RTT 日志等功能,是嵌入式开发常用工具。
probe-rs 项目地址 :https://github.com/probe-rs/probe-rs
CH347是一款高速USB总线转接芯片,提供USB转异步串口、I2C同步串行接口、SPI同步串行接口以及JTAG/SWD接口,配套生态丰富,OpenOCD 等调试烧录软件均已适配CH347,是嵌入式MCU或FPGA开发常用的调试器。具体信息可参考:CH347-高速USB转串口、JTAG/SWD、SPI、I2C芯片介绍
官方原版 probe-rs 在Windows端仅支持WinUSB 驱动,对于一些CH347厂商驱动的
使用者来说不太方便。
本指南使用的第三方改造后的 probe-rs 开源项目,专门针对 Windows 平台做了CH347厂商驱动适配,安装完厂商驱动后可直接在 Windows 系统使用。
改造版项目地址:
本文测试硬件为CH347F + STM32F103C8T6
前置使用条件
-
已安装CH347官方厂商驱动(驱动下载地址:https://www.wch.cn/downloads/CH341PAR_EXE.html)
-
无需自行编译源码,可直接前往项目发布页下载可执行文件使用:https://github.com/ZhiyuanYuanNJ/probe-rs/releases;
-
如需自定义编译,自行
cargo build编译。 -
CH347调试器与目标MCU硬件JTAG连接正常。
一、固件烧录命令
支持 HEX、BIN、ELF 三种常用固件格式,包含基础烧录、校验、擦除、预检测等全场景操作。
1.1 基础烧录(HEX文件)
最基础的固件烧录指令,仅完成固件写入,无校验步骤,适合快速测试。
powershell
probe-rs.exe download --chip STM32F103C8 --binary-format hex firmware.hex
1.2 烧录+后置校验(防写入错误)
烧录完成后自动回读固件数据对比校验,避免写入异常、数据丢失问题,提升烧录可靠性。
powershell
probe-rs.exe download --chip STM32F103C8 --binary-format hex --verify firmware.hex
1.3 烧录+校验+自动复位(高频使用)
烧录校验完成后,自动复位MCU,固件直接生效,无需手动断电复位,适配日常调试、量产测试场景。
powershell
probe-rs.exe download --chip STM32F103C8 --binary-format hex --verify firmware.hex && probe-rs.exe reset --chip STM32F103C8
1.4 整片擦除后烧录
烧录前自动擦除MCU整片闪存,彻底清除旧固件、残留数据,解决新旧固件冲突、碎片数据导致的运行异常问题。
powershell
probe-rs.exe download --chip STM32F103C8 --binary-format hex --chip-erase firmware.hex
1.5 预检测烧录(重复固件跳过)
烧录前对比MCU现有固件与待烧录固件,内容一致则跳过烧录,节省重复烧录时间,适合批量调试场景。
powershell
probe-rs.exe download --chip STM32F103C8 --binary-format hex --preverify firmware.hex
1.6 BIN文件烧录(需指定基地址)
BIN格式固件无内置地址信息,必须通过 --base-address 指定MCU闪存起始地址,STM32F1系列默认起始地址为 0x08000000。
powershell
probe-rs.exe download --chip STM32F103C8 --binary-format bin --base-address 0x08000000 firmware.bin
二、芯片复位命令
单独触发目标MCU硬件复位,可用于烧录后手动复位、程序卡死重启等场景。
2.1 复位目标MCU芯片
powershell
probe-rs.exe reset --chip STM32F103C8
三、闪存擦除命令
单独执行MCU闪存擦除操作,可清空整片闪存数据,适配需要彻底清除固件的场景。
3.1 整片闪存擦除
powershell
probe-rs.exe erase --chip STM32F103C8
四、固件校验命令
不执行烧录操作,仅回读MCU内部固件与本地固件文件对比,验证现有固件完整性,排查固件损坏、写入异常问题。
4.1 独立回读校验
powershell
probe-rs.exe verify --chip STM32F103C8 --binary-format hex firmware.hex
五、设备与芯片信息查询
用于排查设备连接异常、确认芯片型号、核对调试器状态,是调试排错的常用指令。
5.1 列出所有已连接调试器
查看电脑当前识别到的所有probe调试设备,多探针场景可用于确认CH347设备是否正常识别。
powershell
probe-rs.exe list
5.2 查看探针与目标芯片详细信息
获取CH347探针状态、MCU芯片型号、闪存容量、硬件版本等详细参数。
powershell
probe-rs.exe info --chip STM32F103C8
5.3 查询支持的芯片型号列表
powershell
# 查看probe-rs支持的全部芯片型号
probe-rs.exe chip list
# 筛选查看 STM32F1 系列芯片
probe-rs.exe chip list | findstr "STM32F1"
# 精准筛选 STM32F103 系列芯片
probe-rs.exe chip list | findstr "STM32F103"
六、固件烧录后直接运行(仅ELF格式)
仅支持 ELF格式 固件,烧录完成后自动复位并运行程序,无需额外执行复位指令,HEX、BIN格式固件不支持该命令。适合开发调试阶段快速验证程序运行效果。
powershell
probe-rs.exe run --chip STM32F103C8 firmware.elf
七、常用可选参数对照表
通用可选参数,可搭配上述所有命令使用,适配不同硬件场景与调试需求。

八、使用注意事项
当前适配CH347的probe-rs项目,仅支持 CH347 JTAG 下载调试,SWD 暂未适配。