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

        上节已经为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 2000

exit

3、执行结果

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

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

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
### 回答1: JTAG(Joint Test Action Group)调试是一种常见的硬件调试技术,可以帮助我们对FPGA(Field-Programmable Gate Array)进行调试和测试。PYNQ-Z1是一块基于Zynq-7000系列 SoC 的FPGA开发板,具有强大的运算性能和丰富的外设接口。在进行该板子的开发调试时,JTAG调试技术也是不可或缺的。 首先,我们需要准备好JTAG调试工具,如Xilinx提供的Vivado软件。然后,将PYNQ-Z1与PC连接,并通过JTAG端口将PC和PYNQ-Z1进行连接。此时,我们可以在Vivado软件中识别PYNQ-Z1,并对其进行配置和调试。 在调试PYNQ-Z1时,我们可以通过JTAG实现以下功能: 1.下载程序到PYNQ-Z1 我们可以将实现的程序下载到PYNQ-Z1中进行测试。通过JTAG调试工具,我们可以将程序下载到PYNQ-Z1中,并在设备上执行测试。 2.查看硬件状态 通过JTAG调试工具,我们可以获取PYNQ-Z1的各种硬件状态,包括CPU寄存器值、内存状态、外设状态等。这些状态数据可以帮助我们排查硬件错误和优化程序性能。 3.调试硬件错误 JTAG调试技术可以帮助我们快速地定位硬件错误,并修改程序代码。通过JTAG调试工具,我们可以对PYNQ-Z1进行单步调试、断点调试、复位等操作,以定位和修复硬件错误。 总之,JTAG调试技术是一种强大的硬件调试技术,对于PYNQ-Z1的开发调试具有重要意义。通过JTAG调试技术,我们可以快速地定位并修复硬件错误,提高开发效率和调试成功率。 ### 回答2: PYNQ-Z1是一款面向Zynq-7000系列SoC的开发板,用于FPGA开发和嵌入式系统设计。在FPGA设计完成后,通常需要进行硬件调试和验证,这时候就需要使用JTAG调试工具。在PYNQ-Z1上,使用JTAG调试可以通过USB接口和与开发板上的FTDI芯片连接实现。 要使用JTAG调试pynq-z1,首先需要一个JTAG调试工具和调试软件。常用的JTAG调试工具有Lauterbach Trace32等,常用的调试软件有Xilinx iMPACT、Xilinx Vivado等。然后需要将工具和调试软件与PYNQ-Z1连接,具体连接方式可参照PYNQ-Z1官方文档中的电路图。连接完成后,可以使用调试软件对FPGA进行各种调试,包括时序分析、波形查看、信号跟踪等。 需要注意的是,在使用JTAG调试时要注意调试时钟和FPGA的时钟同步问题,以避免时序问题和相关的调试问题。如果对调试不熟悉,建议先阅读相关的资料和文档,或请教经验丰富的工程师,并在操作之前备份好FPGA的原始数据以免操作失误导致数据丢失。 总之,通过JTAG调试可以有效地提高FPGA调试和验证的效率和准确性,是FPGA开发和嵌入式系统开发必不可少的工具之一。 ### 回答3: JTAG是一种用于嵌入式系统调试和编程的技术,它允许直接访问硬件,在PYNQ-Z1上,JTAG调试可以帮助开发进行软件和硬件的调试和编程。 首先需要准备一些工具,如JTAG调试器和调试软件,具体可以使用Xilinx提供的Vivado软件。接着,需要设置PYNQ-Z1的开发板,确保板子上有JTAG端口,并且将调试器正确连接到板子上。 连好之后,我们就可以开始利用调试软件进行调试了。在Vivado软件中,首先要检查板子上的JTAG连接,然后设置debug模式,并选择需要调试FPGA芯片。进入调试后,可以进行单步调试,监视板子的状态和寄存器信息,帮助我们定位和解决各种问题。 以上是JTAG调试PYNQ Z1的基本过程。需要注意的是,在调试过程中,如果芯片未被正确配置或烧录,可能会出现各种问题,因此在开始调试之前,务必进行一些基本的设置和检查,以确保调试的顺利进行

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值