首页/新闻资讯/正文详情

Keil、Vivado、Quartus 都能接:CH347 的 JTAG/SWD 工具盘点

发布时间:2026/11/4 20:01:20 来源:云帆数科 栏目:资讯中心
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版本和许可证分别以对应项目为准。

相关推荐

c语言哈希表
c语言哈希表

一、什么是哈希表 哈希表又称为散列表,是一种通过键直接映射到存储位置、实现快速存取的数据结构,其核心目标是让插入、查找、删除操作的平均时间复杂度达到 O(1)。它由数组和哈希函数组成,通过哈希函数将键转换为数组索引,从而跳… · 2026/11/4 20:01:20

从 Claude Code 到 ABAP Server,彻底看懂 ADT Language Server 与 MCP 的三层架构
从 Claude Code 到 ABAP Server,彻底看懂 ADT Language Server 与 MCP 的三层架构

这张图只有三个大方框,但真正装进去的东西非常多。它画的并不是一个简单的 AI → MCP → SAP 调用链,而是 SAP 为了把已经存在十多年的 ADT 技术资产,重新包装成一套可以被 GitHub Copilot、Claude Code、Codex、OpenCode 这类 Agent 使用的开发基础设施。 尤其到了 2026 … · 2026/11/4 20:00:19

裁员潮下,后端程序员简历写 AI 项目,3 个加分技巧 + 避坑点
裁员潮下,后端程序员简历写 AI 项目,3 个加分技巧 + 避坑点

前言最近不少后端朋友在准备简历,都会加一个 AI 相关项目,希望在求职内卷里拉开差距。 但我看过几十份简历,发现一个普遍问题:简历一句话:基于大模型 API,开发智能问答系统。这种描述,面试官 10… · 2026/11/4 19:59:18

金融服务平台从0到1:账户、支付、风控与对账系统设计实践
金融服务平台从0到1:账户、支付、风控与对账系统设计实践

很多人第一次接手金融科技类项目,看到“financial-services”这个大词的时候,容易一头雾水:这到底是要做一个App、一套接口,还是一个完整平台?我去年完整带过一个代号叫 financial-services 的服务平台项目&#xff0c… · 2026/11/4 21:33:10

二手车大数据分析:XGBoost与Spark实战解析
二手车大数据分析:XGBoost与Spark实战解析

1. 项目背景与核心价值 二手车市场近年来呈现爆发式增长态势,根据行业数据显示,仅2022年全国二手车交易量就突破1600万辆,同比增长近20%。这种快速增长带来了海量的交易数据、车辆评估报告和用户行为信息,但同时也暴露出行业痛点&… · 2026/11/4 21:33:10

Moodle生产环境部署全链路:从空白机器到公网稳定运行
Moodle生产环境部署全链路:从空白机器到公网稳定运行

1. 先想清楚再动手:Moodle 生产环境部署的整体设计Moodle 生产环境部署这件事,网上的教程大多停在"能装起来"这一层,装完之后页面能打开,作者就收工了。但你真把它放到教学场景里跑,几百号人同时点开一门课的… · 2026/11/4 21:33:10

Java垃圾回收机制:新生代与老生代GC原理详解
Java垃圾回收机制:新生代与老生代GC原理详解

1. 垃圾回收机制的基本概念在编程语言的内存管理中,垃圾回收(Garbage Collection,简称GC)是一个自动管理内存的机制。它的主要职责是识别并回收那些不再被程序使用的内存空间,防止内存泄漏,提高内存使用效率… · 2026/11/4 21:33:10

mosdns自建智能DNS:缓存、内网域名与广告拦截配置实践
mosdns自建智能DNS:缓存、内网域名与广告拦截配置实践

DNS 这东西,平时没人想起它,一旦出问题,全家所有设备一起遭殃:网页转圈、视频卡顿、智能音箱喊半天不应。我家网络最早就是运营商默认下发的 DNS,用了两年,某天开始某些域名解析结果怪得很,同一… · 2026/11/4 21:33:10

AI日报精选:大模型、智能体与多模态应用实战
AI日报精选:大模型、智能体与多模态应用实战

今天的AI日报,我从早上七点刷到下午三点,信息流像一个被反复搅动的水池:大模型又在发新论文,智能体框架更新了版本,好几个群在讨论AI短剧的制作成本被打下来了。今天(2026年9月23日)值得记录的内… · 2026/11/4 21:32:07

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

AI辅助技术栈评估:提升研发决策效率60%
AI辅助技术栈评估:提升研发决策效率60%

1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年… · 2026/11/4 0:00:17

从生成Token到直接决策:Jev如何重塑AI Agent工程实践
从生成Token到直接决策:Jev如何重塑AI Agent工程实践

1. 从"生成文字"到"拍板决策":Jev 到底在解决什么问题大多数人第一次接触大模型,脑子里建立的模型是"输入问题、输出文字"。你问它今天天气怎么样,它给你一段描述;你让它写个周报,它给你… · 2026/11/4 0:00:17

32G统一内存跑大模型:内存账、TPS实测与端云分流
32G统一内存跑大模型:内存账、TPS实测与端云分流

想在一台 32G 统一内存的小主机上把大模型跑成"日常可用",这件事我前后折腾了小半年。标题里说的这台 Mac mini M6,是我们这次讨论的目标平台,具体到手规格以实物为准;但下面这套推算方法和实测思路,对任何统… · 2026/11/4 0:00:17

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码