Keil、Vivado、Quartus 都能接:CH347 的 JTAG/SWD 工具盘点 Keil 里给 MCU 下断点Vivado 里给 FPGA 下载位流Quartus 里用 SignalTap 看内部信号。这几套熟悉的开发工具现在都能接入 CH347了。一、Keil把 CH347 放进调试器列表CH347Link 为 Keil µVision 提供 CH347 调试驱动支持 SWD/JTAG。安装后在Options for Target → Debug中选择WCH / CH347 JTAG_SWD再设置 SWD 或 JTAG 端口。下载固件、进入调试会话后续操作沿用 µVision 的方式。它基于 elaphureLink 修改把所需适配放在驱动 DLL 里不必另外启动代理程序。Flash 下载与擦除使用 Keil 的标准算法流程所以选好调试器之后还要让工程里的 Flash 算法与目标芯片对应。对于已经在 Keil 中开发的工程这条路线的价值很直接保留原有开发习惯把 CH347 作为另一种调试器接进来。文中这些工具按需选用。CH347 只有 1 路 JTAG/SWD两种协议复用同一组引脚不能同时作为两路独立调试通道使用。图 1keil中打开 CH347设置SWD为5MHz并下载MCU程序。图 2keil中使用CH347对MCU进行调试。二、Vivado通过 XVC接回 Hardware Manager换到 Xilinx FPGACH347 走的是另一条路xvcd-ch347。它在电脑上提供 XVCXilinx Virtual Cable服务把 Vivado 发出的操作转成 CH347 的 JTAG 访问。启动服务后Vivado 的 Hardware Manager 连接这个地址再识别和操作目标 FPGA。图 3XVC 程序打开 CH347Vivado 识别到 XC6SLX9。原作者演示来源CH347 配合 Vivado 的使用教程。连接本机服务时Vivado 使用open_hw_target -xvc_url 127.0.0.1:2542这样的 正式 Tcl 接口。项目也提供图形程序可以在界面里设置服务地址、端口和 JTAG 时钟。这样程序仍由 Vivado 生成下载与目标操作也留在 Hardware Manager。使用 ILA 等调试核时还需要对应设计文件、调试核和时钟满足条件。三、QuartusProgrammer 和 SignalTap 也有入口用 EP4CE6、EP4CE10 这类 Cyclone IV FPGA 做开发Quartus 同样可以接入 CH347。Quartus_IDE_CH347 采用硬件插件方式在 Quartus 的下载器列表中加入 CH347。部署后器件识别、.sof下载、.jic固化以及 SignalTap 在线调试都沿着 Quartus 原有工具展开。图 4对EP4CE10 FPGA固化.jic程序最终显示固化完成。这里要分清程序放在哪里.sof写入 FPGA 的 SRAM供当前上电期间运行需要掉电保存时再按目标配置器件的要求进行固化。安装与操作已经单独整理在 CH347 在 Quartus 中的使用说明 中。至此同一颗桥接芯片已经进入了 MCU 和 FPGA 两边的经典开发环境。继续往下看这些能力也能交给脚本和其他前端使用。四、OpenOCD 与 probe-rs把下载、调试交给脚本前面的几套 IDE各有自己的接入方法。需要命令行、自动下载或可定制的调试流程时OpenOCD 是一个通用入口。它负责识别目标、控制运行与暂停、访问寄存器和内存并调用 Flash 算法完成下载同时也能向 GDB 提供调试服务。上游已有 CH347 驱动与配置文件使用时选择包含该驱动的构建再配上目标芯片脚本。这也带出了更多 IDE 用法。VS Code 的 Cortex-Debug 可以连接 OpenOCD GDB ServerSTM32CubeIDE 也已有 搭配 CH347 的公开配置与演示。图 5原作者的 STM32CubeIDE 调试演示程序停在 main 函数断点控制台显示 GDB 连接与目标暂停信息。来源同上。另一个值得看的通用项目是 probe-rs。它提供命令行、库和编辑器调试入口覆盖固件下载、运行控制、内存访问及 RTT 等工作流。用 Rust 做嵌入式开发或者希望把下载和日志组织进开发命令可以从这里入手。当前上游 CH347 驱动 已有 JTAG/SWD 实现OpenChipLab 分支 则包含 Windows 厂商接口库路线的适配。先用probe-rs list确认设备再选择目标和协议。RTT 还需要固件中的缓冲区配合适合把日志与下载调试放在一起使用。五、openFPGALoader不同厂商的 FPGA用一套入口下载如果手里不止一种 FPGA 板子openFPGALoader 就有用了。它专注于 FPGA 编程覆盖 Xilinx、Altera/Intel、Lattice、Gowin 等多个厂商的器件和开发板。CH347 已经在上游的 下载线列表 中。选中对应 cable 后可以先扫描目标openFPGALoader-cch347_jtag--detect后续可以加载位流或按受支持的配置流程写入非易失存储。设计依旧由相应工具链完成下载环节则可以放进脚本适合换板验证和重复配置。这里的支持范围要同时看下载线、FPGA 型号和板级连接。尤其是经 JTAG 固化外部 Flash 时可能需要匹配的桥接位流。作者早期公开案例 展示了 CH347F 对 Spartan-6 XC6SLX9 的识别及配置 Flash 写入可以帮助理解这条流程具体命令按当前版本核对。六、板子还没跑起来也可以先查 JTAG 和引脚下载只是 JTAG 的一种用途。CH347_JTAG_Scanner 把重点放在边界扫描扫描器件链匹配 BSDL再观察或控制相应的边界扫描引脚。BSDL 描述器件的边界扫描结构要与实际型号、封装匹配。项目提供 SAMPLE、EXTEST、BYPASS 等操作SAMPLE 用于观察相应引脚状态EXTEST 可控制边界扫描单元的输出适合围绕板级连接做检查。使用 EXTEST 时要先确认外部电路的驱动关系。图 4CH347扫描xilinx fpga的芯片引脚。另一类任务是执行已经生成好的 JTAG 序列。厂商工具导出 SVF 后可以交给 OpenOCD 的 SVF 功能或 CH347_SVF_DNTool_py 这样的专用播放器。图 5SVF 工具仓库的原始运行图显示序列执行完成。来源项目图片图中的耗时只对应作者这次演示。SVF 里可以是编程操作也可以是测试操作。拿到文件后先确认播放器支持其中的指令、时序和校验再放进固定流程。七、从单步调试再走到变量观察和图形工具程序已经能下载、单步之后下一步常常是持续观察几个变量。LinkScope 就面向这类任务解析符号文件读取和修改变量把变化画成曲线也能导出数据。图 6LinkScope 原项目运行图图示连接为 ST-Link展示变量观察方式。来源项目原图。它基于 OpenOCD因此 CH347 可以沿相应后端探索接入完整组合仍需按目标验证。它适合看变量趋势采样由调试访问和软件轮询完成不能当作测量高速引脚信号的逻辑分析仪。想把常用操作集中到一个窗口还可以看 CH347 多功能接口演示软件。它在 Windows 界面中组织 OpenOCD、xvcd-ch347 等工具同时提供其他接口演示。图 7项目公开的主界面左侧列出 FPGA 与 MCU 入口设备状态显示“设备已插入”。来源项目原图。再往自动化方向走embedded-debugger-mcp 提供了基于 probe-rs 的接口封装。打通 CH347 后端后可以继续探索运行控制、内存访问、Flash 和 RTT 的自动化调用这一完整组合本文尚未联调。八、顺手扩展直接操作 Flash可以换到 SPI如果面对的是一颗串行 Flash还可以用 CH347 的 SPI 接口。flashrom 上游 已有ch347_spi驱动用来探测、读取和写入支持的 Flash。OpenChipLab 中收录的 SNANDer、AsProgrammer / UsbAsp-flash也可继续查看串行存储器的使用范围。这里已经换到 SPI 等接口与前面的 JTAG/SWD 分开接线和配置。九、最后按任务选一条路手上的任务可以先看Keil 内下载、断点与单步CH347LinkVivado 内连接 FPGAxvcd-ch347Quartus 内下载和 SignalTapQuartus_IDE_CH347MCU 命令行下载、GDB 与脚本控制OpenOCDRust 开发、下载与 RTTprobe-rs多厂商 FPGA 下载openFPGALoader边界扫描、引脚观察与板级检查CH347_JTAG_Scanner执行现成 SVFOpenOCD SVF / 专用播放器变量观察与曲线显示LinkScope 相应后端直接读写串行 Flashflashrom 等 SPI 工具上手时把 CH347 模式与固件、主机驱动、目标支持和接线电平对应好再从较低时钟开始验证。JTAG/SWD 共用一路接口换软件前让原程序释放设备多器件 JTAG 链仍然属于同一条总线。从经典 IDE 出发CH347 的用法已经延伸到命令行、边界扫描和图形化观察。先把日常最常用的一条路径跑通再按任务增加软件这块调试板就能逐步用起来。资料与图片来源本文按 2026 年 11 月 2 日的公开文档与源码整理运行截图来自原作者或项目公开素材文中逐图标注来源本次未新增硬件实测。LeoZY_ 博客演示图按原文标示的 CC BY-SA 4.0 保留署名与出处。CH347 产品资料、WCH 官方项目。CH347Link、xvcd-ch347、Quartus_IDE_CH347。OpenOCD CH347 说明、Cortex-Debug、STM32CubeIDE 配套分支。probe-rs、CH347 SWD 支持合并记录、Windows 厂商接口适配分支。openFPGALoader、下载线兼容表、构建选项。OpenChipLab 仓库列表。边界扫描、SVF、LinkScope、多接口演示及存储器工具见正文各节链接部分项目为 fork版本和许可证分别以对应项目为准。