基于 ZYNQ 的 XVC(Xilinx Virtual Cable)实现 TCP-JTAG 调
试经验
LSL 2021.12.01
XVC(Xilinx Virtual Cable) 是 Xilinx 推出的基于 TCP/IP 协议的远程调试方
法,可用于 Xilinx FPGA 的远程下载和调试,具体介绍可见 Xilinx 官方文档编号
XAPP1251,但官方 XAPP1251 的文档中,仅含有服务器应用程序,无驱动程序,
在使用中会出现找不到 UIO 设备的错误。本文档描述的 XVC 功能是参考 xilinx
的 wiki 网站提供的一种方案,但官方给出的是 Zynq UltraSCALE+ MP 平台,本
文档从 Zynq MP 平台移植到 Zynq045 上使用。Xilinx 的官方 wiki 链接如下所示:
https://xilinx-
wiki.atlassian.net/wiki/spaces/A/pages/644579329/Xilinx+Virtual+Cable
本文将从 Vivado 工程建立、Uboot 源码修改、XVC 驱动移植与编译、XVC
应用程序移植与编译以及测试与验证等 5 个方面进行详细的阐述。
为实现使用 XVC 实现网络-JTAG 程序功能,对板卡的存储介质镜像文件空
间做如下调整,具体如下表所述:
表 1 zynq 存储介质镜像文件空间分配(在线更新程序)
序号
存储介质 分区编号 备注
1
QSPI
NorFlash
/
zynq_fsbl.elf
u-boot.elf
2
EMMC(SD0)
mmcblk0p1
内核镜像:uImage
设备树:devicetree.dtb
Boot 启动文件:uEnv.txt
PL 更新后的 pl_system.bin
PS 应用程序 myapp
xvc 驱动程序 xilinx_xvc_driver.ko
xvc 应用程序 xvcserver
3 mmcblk0p2
根文件系统 rootfs.ext4
4 mmcblk0p3
PS 应用 myapp 副本或其他应用
参数使用,可在脚本中挂载使用
如上表所述。上表中 mmcblk0p1 中存储 xvc 驱动程序和 xvc 应用程序,在进
入进入 linux 系统后通过启动脚本将 xvc 驱动程序 xilinx_xvc_driver.ko 和 xvc 应
用程序 xvcserver 拷贝到设备树的/tmp 临时目录中,然后再临时目录安装驱动和
评论30
最新资源