1 FPGA远程更新/远程调试的一种简单方法-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

OpenFPGA 来源:OpenFPGA 2023-05-25 09:23 次阅读

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

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

d16b62f4-fa1d-11ed-90ce-dac502259ad0.png

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

d16fd33e-fa1d-11ed-90ce-dac502259ad0.pngd1773c50-fa1d-11ed-90ce-dac502259ad0.png Xilinx 的 Platform Cable USB II

Jtag Pi

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

d18186ec-fa1d-11ed-90ce-dac502259ad0.png

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

如何使用

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

make

就会看到编译输出:

cc-std=gnu99-O3-c-oxvcpi.oxvcpi.c
cc-oxvcpixvc

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

sudo./xvcpi

完毕!

现在我们可以试一试了。

测试

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

d18a282e-fa1d-11ed-90ce-dac502259ad0.png

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

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

d192913a-fa1d-11ed-90ce-dac502259ad0.png

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

d198d626-fa1d-11ed-90ce-dac502259ad0.png

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

d1a2115a-fa1d-11ed-90ce-dac502259ad0.png

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

d1aa4262-fa1d-11ed-90ce-dac502259ad0.png

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

d1afde2a-fa1d-11ed-90ce-dac502259ad0.png

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

d1b708e4-fa1d-11ed-90ce-dac502259ad0.png

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

d1bfef5e-fa1d-11ed-90ce-dac502259ad0.png

项目地址

https://github.com/kholia/xvcpi

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

总结

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

PS:Jtag Pi不是必须得,只要树莓派的IO电平和FPGA电平标准兼容即可。

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1629

    文章

    21729

    浏览量

    602964
  • 嵌入式
    +关注

    关注

    5082

    文章

    19104

    浏览量

    304781
  • WIFI
    +关注

    关注

    81

    文章

    5296

    浏览量

    203564
  • 远程调试
    +关注

    关注

    0

    文章

    38

    浏览量

    8602
  • 远程更新
    +关注

    关注

    0

    文章

    8

    浏览量

    7605

原文标题:FPGA远程更新/远程调试的一种简单方法

文章出处:【微信号:Open_FPGA,微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    远程在线更新FPGA程序的方法

    本文以提高FPGA远程更新程序的方便性为目标,提出了一种基于EPCS Flash的远程在线更新
    发表于 02-22 11:33 2.9w次阅读
    <b class='flag-5'>远程</b>在线<b class='flag-5'>更新</b><b class='flag-5'>FPGA</b>程序的<b class='flag-5'>方法</b>

    Xilinx FPGA远程调试方法()

    日常的FPGA开发常常会遇到“编码与上机调试使用各自的电脑”的场景,解决方法般如下。
    发表于 05-25 14:36 2877次阅读
    Xilinx <b class='flag-5'>FPGA</b><b class='flag-5'>远程</b><b class='flag-5'>调试</b><b class='flag-5'>方法</b>(<b class='flag-5'>一</b>)

    Xilinx FPGA远程调试方法(二)

    上篇主要是分享了Vivado编译软件远程调试方法。杰克使用Vivado软件进行远程连接,主要是用于固化程序以及FPGA(PL端)的异常排查
    发表于 05-25 14:36 2719次阅读
    Xilinx <b class='flag-5'>FPGA</b><b class='flag-5'>远程</b><b class='flag-5'>调试</b><b class='flag-5'>方法</b>(二)

    使用MAXI接口的最简单方法是什么?

    我的块设计中有个XADC,我能够从我的arm / xmd使用“axi_lite总线”进行访问是否有一种简单方法可以从FPGA内部发出“相
    发表于 11-02 11:32

    一种基于EPCS Flash的远程在线更新FPGA程序的方法

    远程在线更新FPGA程序系统的硬件结构是怎样构成的?怎样去设计一种远程在线更新
    发表于 06-18 09:16

    一种节省能源的简单方法

    一种节省能源的简单方法是在晚上关闭Mac。与不活动,空闲或睡眠的Mac相比,关机的Mac所消耗的能源更少。对于运行大量Mac的组织,应优先考虑整夜关机。反对在夜间关闭的个常见论点是关闭和启动所花
    发表于 12-29 08:20

    如何去实现一种基于RT-Thread+RA6M4的远程开机助手设计

    的网络通道只作提示(分为两情况,一种是有公网IP:很简单,开启路由器的DDNS,在路由器处做个端口转发,把系统自带的电脑远程桌面开启,开
    发表于 06-20 10:42

    一种宽范围微弱直流信号测量的简单方法

    一种宽范围微弱直流信号测量的简单方法 介绍一种采用对数运算功放大器MAX4206的测量方法,可实现1nA~1mA直流电流的测量,电路设计简单
    发表于 04-24 09:46 19次下载

    多节点大容量FPGA系统的远程升级方法

    多节点大容量FPGA系统的远程升级方法 针对目前广泛使用的以大容量FPGA实现主要功能的多节点系统的远程升级问题,提出了
    发表于 03-29 15:09 820次阅读
    多节点大容量<b class='flag-5'>FPGA</b>系统的<b class='flag-5'>远程</b>升级<b class='flag-5'>方法</b>

    简单介绍一种远程传输监控的数据采集方法

    温湿度、辐照度是光伏行业的必测项目,而目前的采集多是通过U盘存储数据进行离线分析,期间是否存储成功、是否及时发现异常都较为困难。本文将简单介绍一种远程传输监控的数据采集方法
    的头像 发表于 02-02 13:54 1.8w次阅读
    <b class='flag-5'>简单</b>介绍<b class='flag-5'>一种</b><b class='flag-5'>远程</b>传输监控的数据采集<b class='flag-5'>方法</b>

    设计一种跳转到Avalon总线的简单方法

    和通过Altera的 Avalon 存储器映射(MM)总线连接的外设组合。这些处理器极大地简化了最终应用程序,但需要强大的编程背景和复杂工具链的知识。这可能会妨碍调试,特别是如果硬件工程师需要一种简单
    的头像 发表于 08-07 10:45 2459次阅读

    如何实现远程FPGA更新和重启

    如今, 大多数通讯系统均将FPGA作为其产品解决方案, 且已有大量FPGA应用到通讯系统之中。为了达到降低系统维护的成本的目的,我们就需要实现FPGA远程
    发表于 07-10 16:01 21次下载
    如何实现<b class='flag-5'>远程</b><b class='flag-5'>FPGA</b>的<b class='flag-5'>更新</b>和重启

    AN143-一种准确预测泄漏电流引起的PLL参考杂散电平的简单方法

    AN143-一种准确预测泄漏电流引起的PLL参考杂散电平的简单方法
    发表于 05-11 10:00 7次下载
    AN143-<b class='flag-5'>一种</b>准确预测泄漏电流引起的PLL参考杂散电平的<b class='flag-5'>简单方法</b>

    如何实现工业设备远程调试方法

    随着工业4.0的推进,智能化、网络化、远程化已经成为现代工业设备的重要发展方向。其中,远程调试作为一种有效的技术手段,能够显著提高设备维护效率、降低成本,具有非常重要的实践意义。本文将
    的头像 发表于 09-14 10:03 1166次阅读

    一种简单高效配置FPGA方法

    本文描述了一种简单高效配置FPGA方法,该方法利用微处理器从串行外围接口(SPI)闪存配置FPGA
    的头像 发表于 10-24 14:57 551次阅读
    <b class='flag-5'>一种</b><b class='flag-5'>简单</b>高效配置<b class='flag-5'>FPGA</b>的<b class='flag-5'>方法</b>