CH347应用 USB转JTAG功能之:probe-rs搭配CH347下载MCU命令全指南

目录

前言

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 系统使用。

改造版项目地址:

https://github.com/ZhiyuanYuanNJ/probe-rs

本文测试硬件为CH347F + STM32F103C8T6

前置使用条件

一、固件烧录命令

支持 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 暂未适配。

相关推荐
redaijufeng4 小时前
stm32实现串口打印输出_stm32串口打印
stm32·单片机·嵌入式硬件
黑白园4 小时前
STM32CubeIDE配置FreeRTOS及Demo验证
stm32·单片机·嵌入式硬件
iCxhust4 小时前
8086 汇编位测试使用方法
汇编·单片机·嵌入式硬件·微机原理·8088单板机
SUNNYSPY0015 小时前
AO3404-ASEMI锂电池保护(BMS)专用AO3404
单片机
东方佑5 小时前
分形递归状态机 (FRSM) 实验报告-更新对比
人工智能·语言模型·自然语言处理·开源
昇腾CANN5 小时前
6月15号新课开讲|HCCL入门系列课,正式上线!
人工智能·开源·昇腾·cann
2601_958352905 小时前
双麦 DSP 音频模块实战:一文梳理 A-68 在全行业场景的声学解决方案与落地要点
前端·嵌入式硬件·音视频·语音识别·降噪消回音·音频处理模块
创世宇图5 小时前
Markitdown 本地文档解析与转换实战指南
开源
小小龙学IT5 小时前
Composio:开源AI智能体工具集成平台深度解析
人工智能·开源