本文共 1966 字,大约阅读时间需要 6 分钟。
可以在vivado安装bin目录使用xsdb.bat或xsct.bat调出命令行控制界面:【除了使用官方的usb-jtag接口,还可以使用open ocd的接口开发(不过,openocd可能不支持xilinx-jtag-cable,像FTDI芯片都是可以支持的)】
jtag access提供了原生的jtag接口数据访问,通过primitive BSCANE2,即可访问fpga内部的自定义jtag tap,实现数据读写功能。
#List all targets.jtag targets#List targets with name "arm_dap".jtag targets -filter {name == "arm_dap"}#Set target with id 2 as the current target.jtag targets 2#Set current target to target with name starting with "arm".jtag targets -set -filter {name =~ "arm*"}jtag targets -set -filter {level == 0}set seqname [jtag sequence] $seqname state RESET $seqname drshift -capture -tdi 0 256 set result [$seqname run] $seqname delete.
jtag基本介绍:
jtag根据tms信号实现了16种状态,主要为sel-capture-shift-update,内部通过IR/DR两种寄存器实现数据传输,IR/DR的长度都不是固定标准的,由实际设计需要决定。
DS593 (v1.5.1) August 6, 2018 Platform Cable USB II
UG570 (v1.10) February 21, 2019 UltraScale Architecture ConfigurationUG974 (v2020.1) June 3, 2020 UltraScale Architecture Libraries Guidexilinx还提供了一个非常鸡肋的ip,其文档并没有指出具体使用方法:
PG365 (v1.0) October 30, 2019 BSCAN to JTAG Converter v1.0
仅有的参考:
关于仿真:JTAG_SIME2 参考:
https://pan.baidu.com/s/1lgeE9hIQXsNg52VvbAMkzQ 提取码: 1210
svf文件:
参考:
//
swd与jtag:
Programming Internal Flash Over the Serial Wire Debug Interface AN0062 - Application Note
参考:
https://embeddedinventor.com/swd-vs-jtag-differences-explained/#:~:text=SWD%20stands%20for%20Serial%20Wire%20Debug%20is%20the,info%20to%20the%20computer%20via%20the%20IO%20line.
swd接口:
关于BSCANE2使用:网上目前没有比较详细的用法,官方文档的描述也不是很清晰:(目前找到两个相关参考方案)
BSCAN参考1:xilinx 官方的picoblaze(8位MCU),这个工程提供了一个BSCAN烧写RAM/ROM的功能,但一些细节也不是很详细:
XAPP188 (v2.3) June 20, 2008 Configuration and Readback of Spartan-II and Spartan-IIE FPGAs Using Boundary Scan:
BSCAN参考2:Rocket Chip 的 BSCAN 调试
在:描述了一种BSCAN的使用方法:
BSCAN参考3:
同时stackflow上也有一点bscan相关描述:
参考:
openocd:本质上是一个jtag server程序
和openocd功能类似的还有一个xc3sprog:
这篇文章也不错:使用ARM芯片操作jtag接口对FPGA进行配置:
关于兼容各厂家FPGA的jtag下载器:
ETM接口:
ARM ETM Debugger:https://www2.lauterbach.com/pdf/trace_arm_etm.pdf
#关于SSI器件的irinstruct:
转载地址:http://bdyws.baihongyu.com/