CH347 USB转JTAG功能使用笔记:CH347根据SVF文件实现任意FPGA下载

目录

SVF介绍

SVF(Serial Vector Format,串行向量格式)本质上是一种文本格式文件,专门用于描述基于IEEE 1149.1 JTAG(通常所称的联合测试行动组)的边界扫描测试流程。

它的核心作用在于:将通过JTAG接口对芯片执行的配置、测试、调试等所有操作,以清晰可读的文本形式完整记录。

以FPGA开发为例,常用的程序下载、固件固化等操作,均可通过SVF文件进行标准化呈现。而这种清晰可读的文本特性,也为CH347 USB转JTAG芯片的稳定应用奠定了良好基础。

芯片介绍

CH347是一款高速USB总线转接芯片,通过USB总线提供异步串口、I2C同步串行接口、SPI同步串行接口和JTAG接口等。JTAG接口最高支持60MHz

在之前博客中有详细介绍:

CH347-高速USB转串口、JTAG/SWD、SPI、I2C芯片介绍
CH347使用笔记:CH347作为FPGA下载器的几种方式

开源项目实现FPGA下载

Github上出现了一个利用CH347芯片,向目标FPGA烧录SVF文件的项目:

https://github.com/AIOT-CAT/CH347_SVF_DNTool_py

该项目利用Python完成,通过解析SVF文件,去操作CH347 JTAG接口。

因此理论上,可以根据该项目搭配SVF文件对任意FPGA实现下载与固化功能。

使用方式

使用方法非常简单:

bash 复制代码
git clone https://github.com/AIOT-CAT/CH347_SVF_DNTool_py.git
cd CH347_SVF_DNTool_py
  • 解压CH347_SVF_DNTOOL.zip文件,
  • 具体使用方式:
bash 复制代码
ch347_SVF.exe -h
Usage: ch347_SVF.exe [index] <svf_file>
  • 具体使用方式很简单:
    sudo ch347_SVF.exe [index] <svf_file>
    其中index为CH347插入PC中的顺序,如当前只有一个CH347,index为0;
    svf_file为想要处理的SVF文件具体位置。

附录

SVF的生成方式(程序的下载)

我们可以借助Vivado很方便的将我们已有的BIT或BIN文件转为SVF文件,具体方式如下:

  1. Vivado主页打开硬件管理。
  2. Tools中打开SVF创建界面
    !\[\](https://i-blog.csdnimg.cn/direct/1444db9f06594d22b3f7b38c349b9a72.png)
  3. 添加FPGA型号
  4. 添加要下载的bit或bin文件
  5. 点击Export SVF,导出SVF文件。

此时生成的是将程序的写入SRAM的SVF文件。

SVF的生成方式(程序的固化)

  1. 根据实际情况,为自己的FPGA添加FLASH器件。

  2. 指定需要固化的程序,并添加flash具体操作,如全擦,是否校验等。

  3. 再点击Export SVF按钮,即可导出带有固化操作的SVF文件。

此时生成的是将程序固化至FLASH的SVF文件。

相关推荐
青山是哪个青山13 小时前
LangChain 学习笔记(四):Message 与提示词模板
笔记·学习·langchain
hsjiasb15 小时前
FreeRTOS学习(二十六)——动态内存管理heap_1到heap_5
stm32·单片机·学习·学习笔记·freertos
LCG元16 小时前
STM32+ESP8266+MQTT 物联网气象站:从零搭建温湿度远程监测系统(附完整源码)
stm32·物联网·struts
Shell运维手记17 小时前
Linux 常用基础命令学习笔记
linux·运维·笔记·学习·算法·github
FakeOccupational17 小时前
【电路笔记 STM32】Cortex-M7 内核上的数据缓存(D-Cache)结构+MPU+DMA&Cache+STM32CubeMX配置
笔记·stm32·缓存
这个DBA有点耶18 小时前
数据库一体机架构演进:从硬件堆叠到软硬深度耦合
服务器·网络·数据库·硬件架构·运维开发·database·数据库架构
动词ing18 小时前
【学习笔记】C语言(数组指针与指针数组+字符数组+函数+参数传递+字符串作为形参+递归函数+指针函数+回调函数+结构体嵌套+内存动态分配函数)
c语言·笔记·学习
殷忆枫18 小时前
基于K210与STM32的智能垃圾分类与物联网监管系统
stm32·物联网·分类
周洲083019 小时前
STM32 GPIO 外部中断深度解析:边沿触发 / 电平触发、NVIC 优先级配置、中断嵌套实战
stm32·单片机·嵌入式硬件
轻微的风格艾丝凡19 小时前
波形异常记录--零飘过大
嵌入式·硬件工程·dsp