上节已经为OpenOCD增添了CH347的JTAG接口,

本文将用来展示,如何使用OpenOCD来操作CH347的JTAG接口对FPGA进行程序的下载,其可固化到FPGA的Flash中达到下载的效果。【2】CH347应用--在OpenOCD添加CH347-USB转JTAG接口_OIDCAT的博客-CSDN博客_openocd添加芯片https://blog.csdn.net/OIDCAT/article/details/126876159?spm=1001.2014.3001.5501

1、过程分析

在CH347的Mode3(UART+JTAG模式)下,通过JTAG先将Bit流程序文件下载入FPGA中,Bit文件将操作FPGA的SPI控制器,将JTAG数据转换为SPI数据写入Flash,此步骤即将BIN文件写入,从而实现其程序固化过程。

其中转换作用的Bit文件,我们可借助Github开源项目 GitHub - quartiq/bscan_spi_bitstreams: FPGA gateware and pre-build bitstreams that expose SPI over JTAG. The protocol is implemented (among others) by openocd.FPGA gateware and pre-build bitstreams that expose SPI over JTAG. The protocol is implemented (among others) by openocd. - GitHub - quartiq/bscan_spi_bitstreams: FPGA gateware and pre-build bitstreams that expose SPI over JTAG. The protocol is implemented (among others) by openocd.https://github.com/quartiq/bscan_spi_bitstreams来实现,其流程框图大致如下:

当前支持FPGA型号列表如下:

2、实现操作

此处选用FPGA为Xilinx的xc7a35t。编写CFG文件,使用"openocd -f"指定来调用。

将CFG文件命名为ch347-xilinx-flashDn.cfg

# 指定CH347-JTAG 调试器
adapter driver ch347
ch347 vid_pid 0x1a86 0x55dd# 设置TCK时钟频率
adapter speed 10000# 指定操作的TARGET,加载OpenOCD中JTAG-SPI驱动
source [find cpld/xilinx-xc7.cfg]
source [find cpld/jtagspi.cfg]# 设置TARGET的IR命令
set XC7_JSHUTDOWN 0x0d
set XC7_JPROGRAM 0x0b
set XC7_JSTART 0x0c
set XC7_BYPASS 0x3f# 下载流程
init
# 先下载Bit文件至TARGET
pld load 0 bscan_spi_xc7a35t.bit
reset halt
# 检测Flash信息
flash probe 0
# 下载Bin文件至Flash中
flash write_image erase test.bin 0x0 bin# 生效固件操作
irscan xc7.tap $XC7_JSHUTDOWN
irscan xc7.tap $XC7_JPROGRAM
runtest 60000
runtest 2000
irscan xc7.tap $XC7_BYPASS
runtest 2000exit

3、执行结果

在Windows终端运行命令:[.\openocd.exe -f .\ch347_xilinx_flashDn.cfg],执行如下

此时下载结束,设备正常运行。

【3】CH347应用--USB TO JTAG进行FPGA调试下载相关推荐

  1. 高速USB转JTAG/SPI/I2C/UART/GPIO应用

    高速USB转接芯片CH347是一款集成480Mbps高速USB接口.JTAG接口.SPI接口.I2C接口.异步UART串口.GPIO接口等多种硬件接口的转换芯片. 接口示意图: 应用示意图: JTAG ...

  2. USB转JTAG小板 (一)

    为什么有 usb 转 jtag 小板因为 arm的 DP 有 jtag-DP , riscv 有 jtag-dtm , 而上位机 有 USB , 所以 要 额外的 小板 用于 转换 usb 和 jta ...

  3. FPGA单独下载固化文件的解决方案

    对于FPGA工程师除了日常的调试工作以外,批量生产时候指导生成人员下载我们生成的固化文件也是我们的工作,所以今天讲一讲FPGA单独下载<固化文件>的几种方式. 批量生产-先下载后焊接 批量 ...

  4. JTAG和SWD调试器

    文章目录 一.调试器 二.JTAG 三.SWD 三.各自优缺点 一.调试器 当我们开发单片机程序时,通常是在Windows或Linux上进行代码编写和编译,但是单片机并不直接集成在电脑上,怎么验证我们 ...

  5. FPGA从零设计[1]——关于Altera FPGA的下载器接口

    好久发博客了,一晃一年过去了. 最近打算学习FPGA,手头有几块开发板在用,平时练练代码足够了,但是作为一只硬件狗不亲自设计一块属于自己的开发板实在说不过去.正巧博主这段时间在深入学习Cadence ...

  6. 使用USB转TTL串口板和ST-LINK调试下载器给STM32单片机下载程序

    使用USB转TTL串口板和ST-LINK调试下载器给STM32单片机下载程序 简介 STM32的启动模式 JTAG和SWD接口引脚对比 驱动安装 使用官方STM32 ST-LINK Utility软件 ...

  7. Android Studio 用USB连接到真机调试方法

    Android Studio 用USB连接到真机调试方法 1.在Android Studio中下载必要文件 1-1 安装Google USB driver 1-2 安装手机中对应Android版本的S ...

  8. AXI总线性能监测和FPGA调试:VARONVSTAR

    Vtech:致力于总线性能监测和FPGA调试 About Vtech Vtech(Verification Technology Inc.)是一家开发EDA工具以及LSI(Large Scale Se ...

  9. 修改分辨率影响ov5640视场角的fpga调试经验

    ov5640视场角的fpga调试经验 视场角和分辨率 1.HTS和VTS影响帧速率不影响视场角, 比输出分辨率足够大就可以 2.HS.VS和HE和VE决定总窗口大小 3.DVPHO和DVPVO决定输出 ...

  10. JTAG、SWD调试原理简析

    JTAG.SWD调试原理简析 STM32F10xxx使用CortexM-M3内核,该内核内含硬件调试模块,支持复杂的调试操作.硬件调试模块允许内核在取指(指令断点)或访问数据(数据断点)时停止.内核停 ...

最新文章

  1. 荣耀v9系统升级 服务器,荣耀V9首次系统升级 带来一个有意思的新功能
  2. wxWidgets:使用 Open Watcom 编译的 WxWidgets 的 DLL 版本
  3. MFC显示JPG,bmp图片
  4. 洛谷P1558 色板游戏
  5. php 网站域名怎么更换,教你如何快速给网站更换域名,简单粗暴!
  6. C++设计模式之Singleton模式(单例模式)
  7. spring的beanDefinition是什么
  8. python画五子棋棋盘_python 五子棋-文字版(上)
  9. matlab影像阿伯斯投影,D3.js 世界地图(一)投影方式
  10. 3ds Max 2016的安装和破解
  11. html5微信mp3播放器代码,[微信音频播放器] html5 audio 制做的微信播放器
  12. 51nod 1459 1212
  13. Iptables入门
  14. win7系统怎么安装dhcp服务器,笔者研习win7系统安装dhcp服务器的技巧介绍
  15. 天正服务器不显示,天正画图的时候图形消失看不见了怎么办?
  16. 前端漂亮的字体 font-family
  17. 前端请求报错405 Method Not Allowed
  18. 技术团队负责人应该具备怎样的能力
  19. UE4 蓝图实现NPC来回走动(带动画效果)
  20. SimNow暂停服务后的模拟交易解决方案

热门文章

  1. 快速计算斐波那契数列(Fibonacci数列)
  2. java物联网第三天 智慧农业物联网
  3. 运维审计新形势下CIO的管理职责
  4. 信息系统设计之软件设计和系统架构
  5. python request 淘宝评论数据简易爬虫
  6. 【ROS基础】.launch文件语法记录
  7. QQ邮箱如何快速批量删除所有的垃圾邮件
  8. 区块链+保险的概述和发展现状
  9. 【水题】CodeForce 1183A
  10. 1962年 电影版 越剧红楼梦 剧本