USRP X310 Windows 烧录镜像

说明

USRP-X 系列设备包含两个用于两个以太网通道的 SFP+ 端口。由于 SFP+ 端口支持 1 千兆 (SFP) 和 10 千兆 (SFP+) 收发器,因此 UHD 附带了多个 FPGA 图像,以确定上述接口的行为。

在这里插入图片描述
注意:Aurora 图像需要从 FPGA 源代码手动构建。

FPGA 图像有两种格式:

  • LVBITX:LabVIEW FPGA 配置比特流格式(用于 PCI Express 和以太网)
  • BIT:Xilinx 配置比特流格式(用于以太网和 JTAG)

要获取最新图像,只需使用 uhd_images_downloader 脚本。在 Unix 系统上,使用此命令:

uhd_images_downloader

在 Windows 上,使用:

<path_to_python.exe> <install-path>/bin/uhd_images_downloader.py

使用 PCI Express 加载 FPGA 图像

UHD 需要有效的 LabVIEW FPGA 配置比特流文件 (LVBITX) 才能通过 PCI Express 总线使用 USRP-X 系列设备。LabVIEW FPGA 不需要将UHD 与 USRP-X 系列设备一起使用。由于 FPGA 配置是 PCI Express 上正常操作的一部分,因此在运行 UHD 之前无需进行任何设置。

可以在传递的可选设备参数中设置fpga标签,以向 UHD 指示 FPGA 图像风格。如果指定了上述标签,UHD 将尝试从 UHD 图像目录中加载具有请求风格的 FPGA 图像。如果未指定标签,UHD 将自动检测图像的风格并尝试将相应的配置比特流加载到设备上。请注意,如果 UHD 检测到请求的图像已加载到 FPGA 上,则它不会重新加载它。

使用JTAG加载FPGA图像

USRP-X 系列设备具有板载 USB-JTAG 编程器,可通过设备前面板访问。有多种工具可通过 JTAG 连接器访问 FPGA(请参阅板载 JTAG 编程器)。

如果您安装了 Vivado,我们会提供命令行脚本来刷新图像。确保您的 X3x0 已通电并使用前面板 USB JTAG 连接器连接到您的计算机(USB 2.0 即可)。前往 X3x0 FPGA 目录,然后运行以下命令:

$ cd uhd/fpga/usrp3/top/x300 # Assuming this is where the FPGA code is checked out
$ source ./setupenv.sh
$ viv_jtag_program /path/to/bitfile.bit

如果你已经安装了 iMPACT,则可以使用该impact_jtag_programmer.sh工具安装镜像。然后运行该工具:

<path_to_uhd_tools>/impact_jtag_programmer.sh --fpga-path=<fpga_image_path>

安装vivado:
https://china.xilinx.com/support/download/index.html/content/xilinx/zh/downloadNav/vivado-design-tools/archive.html
在这里插入图片描述

将图像加载到板载闪存中

要更改板载闪存中存储的 FPGA 映像,可以通过网络或 PCI Express 对 USRP-X 系列设备进行重新编程。将映像编程到闪存中后,该映像将在设备启动过程中自动加载到 FPGA 上。

注意:不同的硬件版本需要不同的 FPGA 映像。从设备背面的标签上确定修订号。如果您手动指定 FPGA 路径,则实用程序不会尝试检测您的设备信息,您需要使用此编号来选择要刻录的映像。

注意:如果未指定自定义 FPGA 图像路径,图像加载器实用程序将默认使用适当的 BIT 文件,但它与 BIN、BIT 和 LVBITX 图像兼容。

通过以太网使用图像加载器

Automatic FPGA path, detect image type:
uhd_image_loader --args="type=x300,addr=<IP address>"

Automatic FPGA path, select image type:
uhd_image_loader --args="type=x300,addr=<IP address>,fpga=<HG or XG>"

Manual FPGA path:
uhd_image_loader --args="type=x300,addr=<IP address>" --fpga-path="<path to FPGA image>"

Use the image loader over PCI Express

Automatic FPGA path, detect image type:
uhd_image_loader --args="type=x300,resource=<NI-RIO resource>"

Automatic FPGA path, select image type:
uhd_image_loader --args="type=x300,resource=<NI-RIO resource>,fpga=<HG or XG>"

Manual FPGA path:
uhd_image_loader --args="type=x300,resource=<NI-RIO resource>" --fpga-path="<path to FPGA image>"

设备恢复和变砖

加载坏映像(“变砖”)可能会使设备处于不可用状态。幸运的是,可以使用 USB-JTAG 接口暂时为 USRP-X 系列设备加载好映像。一旦启动到安全映像,用户就可以再次通过以太网或 PCI Express 将映像加载到设备上。

请参阅使用 JTAG 加载 FPGA 映像部分,了解如何使用 JTAG 接口将 FPGA 映像加载到设备上。运行 JTAG 进程后,可以使用常规程序将新映像刷入设备上,以永久恢复设备。

设置网络

USRP-X 系列仅支持千兆和万兆以太网,不能与 10/100 Mbps 接口一起使用。

请注意,10 千兆以太网定义了协议,而不一定定义了介质。例如,您可以使用光纤 SFP+ 收发器模块通过光纤使用 10GigE。

设置主机接口

USRP-X 系列通过千兆和十千兆以太网在 IP/UDP 层进行通信。USRP X300/X310 设备的默认 IP 地址取决于所使用的以太网端口和接口。您必须将主机以太网接口配置为与所连接设备位于同一子网上的静态 IP 地址,才能实现通信,如下表所示:
在这里插入图片描述
如您所见,X300/X310 实际上存储了不同的 IP 地址,这些地址都以不同的方式对设备进行寻址:每个以太网端口和接口类型(即千兆或十千兆)的组合都有自己的 IP 地址。例如,当通过 1 千兆以太网在其第一个端口(端口 0)上寻址设备时,相关 IP 地址是使用密钥存储在 EEPROM 中的 IP 地址ip-addr0,或默认为 192.168.10.2。

请参阅配置主机的 IP 地址以了解如何更改机器的 IP 地址和 MTU 大小以便与 X300 很好地配合使用。

变砖之后

确保已经安装了vivado 20119.1
jtag连接线把计算机和设备连接到一起。

1、启动vivado:

2、点击Open Hardware Manager:

在这里插入图片描述

3、在弹出的界面选择Tools->Auto Connect,

在这里插入图片描述

4、选中xc7k410t_0(1),右击,选择Program Device:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、选择Bitstream file文件,这里以x310的HG为例,文件目录为xxxxxxxxxx /images/usrp_x310_fpga_HG.bit,选好后点击ok,点击Program:

在这里插入图片描述

6、完成之后关闭vivado工具,用千兆网线连接x310和主机,然后打开终端,输入uhd_find_devices:

看到主机之后,x310恢复正常,接下来重新烧写固件。

uhd_image_loader --args="type=x300,addr=192.168.10.2" --fpga-path="<path to FPGA image>"

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/954148.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Sprint Boot教程之五十八:动态启动/停止 Kafka 监听器

Spring Boot – 动态启动/停止 Kafka 监听器 当 Spring Boot 应用程序启动时&#xff0c;Kafka Listener 的默认行为是开始监听某个主题。但是&#xff0c;有些情况下我们不想在应用程序启动后立即启动它。 要动态启动或停止 Kafka Listener&#xff0c;我们需要三种主要方法…

Docker save load 镜像 tag 为 <none>

一、场景分析 我从 docker hub 上拉了这么一个镜像。 docker pull tomcat:8.5-jre8-alpine 我用 docker save 命令想把它导出成 tar 文件以便拷贝到内网机器上使用。 docker save -o tomcat-8.5-jre8-alpine.tar.gz 镜像ID 当我把这个镜像传到别的机器&#xff0c;并用 dock…

计算机网络(三)——局域网和广域网

一、局域网 特点&#xff1a;覆盖较小的地理范围&#xff1b;具有较低的时延和误码率&#xff1b;使用双绞线、同轴电缆、光纤传输&#xff0c;传输效率高&#xff1b;局域网内各节点之间采用以帧为单位的数据传输&#xff1b;支持单播、广播和多播&#xff08;单播指点对点通信…

浅谈云计算01 | 云计算服务的特点

在当今数字化时代&#xff0c;云计算作为一种强大的技术解决方案&#xff0c;正逐渐改变着企业和个人对信息技术的使用方式。本文将详细探讨云计算的五个主要特点&#xff0c;包括按需自助服务、广泛的网络接入、资源池化、快速弹性伸缩以及可计量服务。 一、按需自助服务 云…

【Qt】01-了解QT

踏入QT的殿堂之路 前言一、创建工程文件1.1 步骤介绍1.2 编译介绍方法1、方法2、编译成功 二、了解框架2.1 main.cpp2.2 .Pro文件2.2.1 注释需要打井号。2.2.2 F1带你进入帮助模式2.2.3 build文件 2.3 构造函数 三、编写工程3.1 main代码3.2 结果展示 四、指定父对象4.1 main代…

DDD - 微服务设计与领域驱动设计实战(上)_统一建模语言及事件风暴会议

文章目录 Pre概述业务流程需求分析的困境统一语言建模事件风暴会议什么是事件风暴&#xff08;Event Storming&#xff09;事件风暴会议 总结 Pre DDD - 软件退化原因及案例分析 DDD - 如何运用 DDD 进行软件设计 DDD - 如何运用 DDD 进行数据库设计 DDD - 服务、实体与值对…

ssh2详细使用步骤,以及常用方法介绍

开源地址&#xff1a;https://github.com/mscdex/ssh2 ssh2 是一个功能强大的 Node.js 库&#xff0c;用于通过 SSH 协议与远程服务器交互。它支持命令执行、文件上传下载、端口转发等操作&#xff0c;常用于自动化脚本和远程服务器管理。 下面是 ssh2 的详细使用步骤和常用方…

Leetcode 377. 组合总和 Ⅳ 动态规划

原题链接&#xff1a;Leetcode 377. 组合总和 Ⅳ 可参考官解 class Solution { public:int combinationSum4(vector<int>& nums, int target) {vector<int> dp(target 1);dp[0] 1;// 总和为 i 的元素组合的个数for (int i 1; i < target; i) {// 每次都…

从epoll事件的视角探讨TCP:三次握手、四次挥手、应用层与传输层之间的联系

目录 一、应用层与TCP之间的联系 二、 当通信双方中的一方如客户端主动断开连接时&#xff0c;仅是在客户端的视角下连接已经断开&#xff0c;在服务端的眼中&#xff0c;连接依然存在&#xff0c;为什么&#xff1f;——触发EPOLLRDHUP事件&#xff1a;对端关闭连接或停止写…

dockerfile实现lnmp

dockerfile实现lnmp 自定义镜像实现整个架构 (基础镜像centos7) nginx cd /opt mkdir nginx mysql php vim Dockerfile docker network create --subnet172.111.0.0/16 mynetwork #创建自定义网段 docker run -itd --name nginx -p 80:80 --cpu-quota 20000 -m 512m -v /op…

unity下载newtonsoft-json

Package Manager&#xff0c;输入com.unity.nuget.newtonsoft-json 右键Assets-Reinport All

python学opencv|读取图像(三十一)缩放图像的三种方法

【1】引言 前序学习进程中&#xff0c;我们至少掌握了两种方法&#xff0c;可以实现对图像实现缩放。 第一种方法是调用cv2.resize()函数实现&#xff0c;相关学习链接为&#xff1a; python学opencv|读取图像&#xff08;三&#xff09;放大和缩小图像_python opencv 读取图…

PyCharm 引用其他路径下的文件报错 ModuleNotFound 或报红

PyCharm 中引用其他路径下的文件提示 ModuleNotFound&#xff0c;将被引用目录添加到系统路径&#xff1a; # # 获取当前目录 dir_path os.path.dirname(os.path.realpath(__file__)) # # 获取上级目录 parent_dir_path os.path.abspath(os.path.join(dir_path, os.pardir))…

ClickHouse-CPU、内存参数设置

常见配置 1. CPU资源 1、clickhouse服务端的配置在config.xml文件中 config.xml文件是服务端的配置&#xff0c;在config.xml文件中指向users.xml文件&#xff0c;相关的配置信息实际是在users.xml文件中的。大部分的配置信息在users.xml文件中&#xff0c;如果在users.xml文…

自动连接校园网wifi脚本实践(自动网页认证)

目录 起因执行步骤分析校园网登录逻辑如何判断当前是否处于未登录状态&#xff1f; 书写代码打包设置开机自动启动 起因 我们一般通过远程控制的方式访问实验室电脑&#xff0c;但是最近实验室老是断电&#xff0c;但重启后也不会自动连接校园网账户认证&#xff0c;远程工具&…

iOS 解决两个tableView.嵌套滚动手势冲突

我们有这样一个场景&#xff0c;就是页面上有一个大的tableView&#xff0c; 每一个cell都是和屏幕一样高的&#xff0c;然后cell中还有一个可以 tableView&#xff0c;比如直播间的情形&#xff0c;这个时候如果我们拖动 cell里面的tableView滚动的话&#xff0c;如果滚动到内…

机组存储系统

局部性 理论 程序执行&#xff0c;会不均匀访问主存&#xff0c;有些被频繁访问&#xff0c;有些很少被访问 时间局部性 被用到指令&#xff0c;不久可能又被用到 产生原因是大量循环操作 空间局部性 某个数据和指令被使用&#xff0c;附近数据也可能使用 主要原因是顺序存…

LeetCode热题100-二叉树的中序遍历【JavaScript讲解】

题目&#xff1a; 二叉树&#xff1a; 二叉树的遍历是指按照某种特定的顺序访问二叉树中的每个节点&#xff0c;使得每个节点被访问且仅被访问一次。二叉树的遍历主要分为三种&#xff1a;先序遍历&#xff08;前序遍历&#xff09;、中序遍历和后序遍历。 ‌先序遍历&#x…

【Linux】正则表达式

正则表达式是一种可供Linux工具过滤文本的自定义模板&#xff0c;Linux工具&#xff08;如sed、gawk&#xff09;会在读取数据时使用正则表达式对数据进行模式匹配。 正则表达式使用元字符来描述数据流中的一个或多个字符。它是由正则表达式引擎实现的。正则表达式引擎是一种底…

计算机视觉算法实战——步态识别(主页有源码)

✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ ​ ​​​​​​​​​​​​​​​​​​ 1. 步态识别简介✨✨ 步态识别&#xff08;Gait Recognition&#xff09;是计算机视觉领域中的一个…