FPGA远程更新/远程调试的一种简单方法

这篇具有很好参考价值的文章主要介绍了FPGA远程更新/远程调试的一种简单方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

之前介绍过一种远程(无线)更新的方式,详见《起飞!通过无线WIFI下载调试FPGA》,这种方式缺点有两个:一是速度较慢;二是我们的设备中需要增加一个无线设备,增加成本的同时增加了暴露的风险。这两点即无法在调试的时候使用也没办法在实际设备中使用。今天我们再介绍另一种简单方式。

下面是目前我们很多设备常用的硬件架构,这种架构中,我们可以很方便使用嵌入式设备作为“桥梁”用来调试FPGA,其实这也是XVC方案的“变种”。

FPGA远程更新/远程调试的一种简单方法

为了演示上面的方案,使用树莓派+FPGA进行方案验证。

FPGA远程更新/远程调试的一种简单方法FPGA远程更新/远程调试的一种简单方法Xilinx 的 Platform Cable USB II

Jtag Pi

我们知道正常的调试器/下载区的JTAG接口可以兼容很多芯片,所以首先需要制作一个扩展板进行IO口电平兼容设计,硬件如下:

FPGA远程更新/远程调试的一种简单方法

将Jtag Pi 连接到 raspberry Pi 和在其上运行的软件应用程序,我们就有了一个便宜的远程编程器。

如何使用

将 Jtag Pi 连接到 Raspberry Pi 之上后,我们需要将 Xilinx Virtual Cable for Raspberry Pi 应用程序复制到板上。我通过 SSH 将它复制到我的主目录中。然后只需进入该目录并运行:

make

就会看到编译输出:

cc -std=gnu99 -O3   -c -o xvcpi.o xvcpi.c
cc -o xvcpi xvc

之后我们有一个编译的应用程序。运行它:

sudo ./xvcpi

完毕!

现在我们可以试一试了。

测试

我们需要将 Jtag Pi 和 FPGA 连接。

FPGA远程更新/远程调试的一种简单方法

引脚 Vcc 连接到 FPGA 板的 Vref。它用于对信号进行电压转换(电压取决于电路板)。

首先我们运行 Xilinx Vivado。然后从主菜单中选择Open Hardware Manager 。

FPGA远程更新/远程调试的一种简单方法

在硬件管理器中,我们将看到硬件选项卡,我们可以在其中使用连接器图标打开目标。

FPGA远程更新/远程调试的一种简单方法

之后我们将连接到本地主机 hw_server。

FPGA远程更新/远程调试的一种简单方法

现在右键单击 localhost 并选择Add Xilinx Virtual Cable (XVC)。现在在弹出窗口中输入 Raspberry Pi IP(WiFi 或以太网 - 取决于使用的网络)。

FPGA远程更新/远程调试的一种简单方法

连接后将看到一些已识别的设备——在我们的例子中我们看到 xc7z007s。

FPGA远程更新/远程调试的一种简单方法

现在我们可以为 FPGA 选择 bit 文件并对其进行远程编程。

FPGA远程更新/远程调试的一种简单方法

测试如下,对 FPGA 进行下载需要 5 秒(Zynq 7z007s 的比特流大小约为 17Mb)。如果比特流中有调试内核,还可以读取 XADC 值或ila进行调试。

FPGA远程更新/远程调试的一种简单方法

项目地址

https://github.com/kholia/xvcpi

https://bitbucket.org/Mylium/xvcpi/src/master/

总结

树莓派板载了wifi和1G 网口,所以可以使用无线或者有线进行调试。对应于实际设备中,上面的代码很容易移植到新的嵌入式设备,也无需浪费时间和精力在FPGA上做远程更新的手段。

PS:Jtag Pi不是必须得,只要树莓派的IO电平和FPGA电平标准兼容即可。文章来源地址https://www.toymoban.com/news/detail-492928.html

到了这里,关于FPGA远程更新/远程调试的一种简单方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 用于FPGA远程更新的QuickBoot方法

    下图为具有FPGA远程更新功能的系统架构: 在FPGA设计中,FPGA固件主要烧录到flash中。 QuickBoot远程更新方案是一种用于FPGA固件远程更新的解决方案; 该方案对固件更新过程的编程算法进行简单调整,将 编程错误/中断复的责任置于编程操作上 下图展示了QuickBoot的系统架构框图

    2024年02月08日
    浏览(30)
  • 【linux】记录archlinux软件包更新后lualatex无法编译的一种解决方案

    操作系统:archlinux Kernel: 6.4.11-arch2-1 包管理器:pacman 日期:2023.08.25 今天一如往常地进行软件包更新: 随后,在使用luelatex对我的论文(latex)进行编译时,无法编译。想到在软件更新前还能编译,更新后就无法编译,必然是软件包版本问题。在命令行运行lualatex报错: 所以

    2024年02月11日
    浏览(34)
  • 下载YouTube视频的一种方法

    yt-dlp 安装Python环境 pip install yt-dlp 默认格式,高于720P的格式一般是 webm 格式 yt-dlp https://youtu.be/sKrT6mBrosc 下载视频转换成mp4(用–merge-output-format参数) yt-dlp –merge-output-format mp4 https://youtu.be/sKrT6mBrosc 1.只下载音频 找m4a格式,列表越靠后越清晰。比如ID:140 | EXT:m4a | audio onl

    2024年02月13日
    浏览(44)
  • 简单谈谈 EMP-SSL:自监督对比学习的一种极简主义风

    论文链接 :https://arxiv.org/pdf/2304.03977.pdf 代码 :https://github.com/tsb0601/EMP-SSL 其他学习链接 :突破自监督学习效率极限!马毅、LeCun联合发布EMP-SSL:无需花哨trick,30个epoch即可实现SOTA 如图,一张图片裁剪成不同的 patch,对不同的 patch 做数据增强,分别输入 encoder,得到多个

    2024年02月13日
    浏览(29)
  • 不支持请求方法POST或GET的一种解决方法

    Request method ‘POST‘ not supported(已解决) 该错误一般是请求类型对不上导致的,比如PostMapping和GetMapping请求,一般错误发生在下图所示位置,我把Post和Get搞错了。 值得说的一点是,因为我不确定是不是这里错了,所以一开始我并没有把GetMapping注释掉,我认为在下面加上PostMa

    2024年02月12日
    浏览(37)
  • 人脸识别平台批量导入绑定设备的一种方法

            因为原先平台绑定设备是通过一个界面进行人工选择绑定或一个人一个人绑定设备。如下:  但有时候需要在几千个里选择出几百个,那这种方式就不大现实了,需要另外一种方法。   目前相到可以通过导入批量数据进行绑定的方式。 一、前端 主要是显示选择文件

    2024年02月11日
    浏览(37)
  • Unity 代码设置UI尺寸的一种方法

    在Unity中 UI的实际宽高可以通过rect.size获得,但是这个属性是只读的无法修改。 所以想要修改尺寸,通常有两种方式 方法1:使用rect.SizeDelta来修改UI的大小,而SizeDelta会根据锚点设置的不同变化,数值上也不直观,不便于操作 方法2:使用SetSizeWithCurrentAnchors方法设置宽高 但是突然想

    2024年02月02日
    浏览(26)
  • Windows11/10 使用RDP远程桌面时提示 您的凭据不工作/登录没有成功可能的一种原因

    微软官方的关于有关远程桌面客户端的常见问题 Windows新装系统时就已经设置了Windows Hello,而登录系统时一直使用Windows Hello, 未使用过密码 进行登录 能确定登录所用用户名和密码正确 新建的本地账户可以正常使用RDP进行远程登录 我在使用RDP登录时虽然输入了正确的账号和密

    2024年02月06日
    浏览(69)
  • 【运维】解决 mac office 中乱码的一种方法

    由于微软 office 在 mac 中的代码不匹配等问题,造成部分在 windows 中生成的文档用 mac office 中打开时会有部分乱码。现在笔者找到一种方法,可以解决该问题。 1.安装最新版本的 mac office,我这里是 office2021 2.对windows 中生成有乱码的文档,使用 keynote或者pages 打开,乱码消失

    2024年02月05日
    浏览(28)
  • IDEA 部署Tomcat部署工件失败的一种解决方法

    先放上一些前人的解决方法 IDEA中部署Tomcat部署工件失败解决办法_tomcat部署工件时出错_fly in the dream的博客-CSDN博客使用IDEA部署Tomcat报出工件部署失败问题情况_部署工件错误-CSDN博客 Artifact “xxx - xxxx“:war exploded:部署工件时出错。请参阅服务器日志了解详细信息-CSDN博客 因为

    2024年02月01日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包