TQSDRPI开发板教程:编译openwifi工程

本例程基于SDRPI开发板,在Ubuntu中使用vivado编译openwifi工程,最终生成BOOT.BIN文件。需要拥有安装vivado2021.1版本的ubuntu系统或虚拟机。

首先需要下载openwifi的编译文件,可以在GitHub中搜索openwifi-hw,网址如下所示:https://github.com/open-sdr/openwifi-hw

也可以直接在ubuntu系统中使用git工具下载,使用如下命令:

git clone --recursive https://github.com/open-sdr/openwifi-hw

同时在文件末尾我也会提供下载好的网盘链接。

下载完成后进入openwifi-hw目录,打开命令行窗口。

在命令行中配置vivado的环境变量,这个要根据安装地址进行设置。例如我这里的安装地址在/tools/Xilinx/文件夹中,使用如下命令配置vivado的环境变量:

source /tools/Xilinx/Vivado/2021.1/settings64.sh

然后需要定义一个变量,变量名称为XILINX_DIR,值为vivado的安装目录,例如在这里安装目录为/tools/Xilinx/,使用如下命令设置变量

export  XILINX_DIR=/tools/Xilinx

设置变量完成后运行 prepare_adi_lib.sh 脚本,参数为XILINX_DIR,使用如下命令:

./prepare_adi_lib.sh $XILINX_DIR

编译时间有点长,耐心等待编译完成。若编译失败,重新编译几次大概率会通过,下图是我第一次编译失败,直接进行第二次编译。

编译成功后设置开发板名称的变量,使用export命令定义变量名称BOARD_NAME,值为本次实验的硬件平台sdrpi,使用如下命令:

export BOARD_NAME=sdrpi

若使用其他硬件平台,可以在上面下载网址中寻找对应的名称,截图如下所示

例如若使用的是zedborad+ad9361,BOARD_NAME的值为zed_fmcs2。设置好变量后运行prepare_adi_board_ip.sh脚本,参数为XILINX_DIR和OARD_NAME,在命令行输入如下命令:

./prepare_adi_board_ip.sh $XILINX_DIR $BOARD_NAME

运行上面这个条命令后,出现如下所示的界面时由于等待时间很长,可以使用ctrl+c中断此脚本的运行,这个操作不会对结果产生影响。

继续运行get_ip_openofdm_rx.sh脚本,在命令行中运行如下命令:

./get_ip_openofdm_rx.sh

进入工程目录

cd boards/$BOARD_NAME/

运行create_ip_repo.sh脚本,参数为XILINX_DIR

../create_ip_repo.sh $XILINX_DIR

此脚本会自动打开vivado进行配置,不要主动操作打断脚本。

等待脚本运行完成,vivado会回到初始界面,在下方命令行中运行如下命令打开工程。

source ./openwifi.tcl

打开工程后,若需要修改vivado内容在这一步进行。修改完成或无需修改,生成bit文件。

若编译报错,点击system.xdc:31到转跳处,注释此行,如下图所示。若编译成功则无需此步骤。修改完成后保存。先点击Run Synthesis重新编译,在生成bit文件。

导出XSA文件,File-->Export-->Export Hardware...

默认选项下一步到选择保存地址,在当前地址上加 /vitis 并复制全部地址,后面需要用到。默认下一步到完成即可。

打开vitis,Tools-->Launch...

工作空间选择上面复制的地址,启动vitis

创建平台项目

设置名称

选择上面导出的XSA文件,完成创建

选择项目-->编译

到此我们就生成了bit文件和fsbl文件,生成BOOT.BIN文件还需要一个elf文件,这里因为要引导LINUX系统启动,因此是UBOOT,这个UBOOT在ZYNQ里面比较通用的。我们也可以使用OPENWIFI中其他ZYNQ板子的UBOOT来替换。下载命令如下:

git clone --recursive https://github.com/open-sdr/openwifi

下载完成后进入目录:openwifi/kernel_boot/board/sdrpi 可以看到里面有个u-boot.elf文件,复制文件到openwifi-hw目录,创建一个BootFile文件夹,放置生成BOOT.BIN所需的文件。UBOOT文件可以使用我提供的网盘链接中的文件。

进入目录:openwifi-hw/board/sdrpi/openwifi_sdri/openwifi_sdri.runs/impl_1

复制system_top.bit文件到BootFile中,

进入目录:openwifi-hw/board/sdrpi/openwifi_sdri/vitis/fsbl/zynq_fsbl

复制fsbl.elf文件到BootFile中。

打开sdk 生成BOOT.BIN文件:Xilinx-->create...-->zynq...

保存地址选择BootFile-->添加文件-->按顺序添加图中的三个文件-->生成BOOT.BIN文件。

此boot.bin文件可以直接代替openwifi启动盘中的boot.bin文件,关于sdrpi的openwifi的启动盘制作与使用,可以参考如下链接:

https://blog.csdn.net/mcupro/article/details/138193494

提供的链接中sdrpi_openwifi-hw_ok.zip是编译完成后的文件,BootFile文件夹也在其中。openwifi-hw_new.zip是没编译过的文件。

链接:https://pan.baidu.com/s/14frYS1gWJL4wmf5n1CECMA
提取码:11rk

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

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

相关文章

Blender 中导出模型fbx

准备模型:确保你的模型已经完成,并且所有的材质、纹理等都已设置好。 应用所有变换: 选择模型,按下 CtrlA,选择 "All Transforms" 以应用所有的变换(位置、旋转和缩放)。 导出模型&a…

【初阶数据结构】树与二叉树:从零开始的奇幻之旅

初阶数据结构相关知识点可以通过点击以下链接进行学习一起加油!时间与空间复杂度的深度剖析深入解析顺序表:探索底层逻辑深入解析单链表:探索底层逻辑深入解析带头双向循环链表:探索底层逻辑深入解析栈:探索底层逻辑深入解析队列:探索底层逻辑深入解析循环队列:探索…

数据结构(Java):集合类LinkedList集合类Stack

1、集合类LinkedList 1.1 什么是LinkedList LinkedList的底层是一个双向链表的结构(故不支持随机访问): 在LinkedList中,定义了first和last,分别指向链表的首节点和尾结点。 每个节点中有一个成员用来存储数据&…

视频压缩电脑软件,视频压缩电脑怎么操作

在数字媒体时代,视频文件的大小往往让人头疼。如何在不损失画质的情况下压缩视频,成为了许多创作者和普通用户的需求。本文将为你详细介绍电脑压缩软件,让你轻松应对视频压缩任务。 1.下载并安装视频压缩软件。 2.打开软件,选择视…

[leetcode] shortest-subarray-with-sum-at-least-k 和至少为 K 的最短子数组

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int shortestSubarray(vector<int>& nums, int k) {int n nums.size();vector<long> preSumArr(n 1);for (int i 0; i < n; i) {preSumArr[i 1] preSumArr[i] nums[i];}int res n…

机遇与挑战并存 券商国际化战略布局关键要素

引言 在全球金融市场不断开放和技术快速进步的背景下&#xff0c;越来越多中资背景的券商开始寻求国际化发展。富途和老虎证券作为先行者&#xff0c;展示了中国券商在出海过程中的巨大潜力和成功经验。鉴于中资在海外设立券商的成功&#xff0c;不少公司也有意愿在海外设立券…

爆款文案管理系统设计

设计一个爆款文案管理系统&#xff0c;目标是帮助营销团队高效地创建、管理并分析吸引人的文案&#xff0c;以提升产品或服务的市场吸引力和销售转化率。以下是一些关键功能和设计考量点&#xff1a; 1. 用户友好界面 简洁直观的界面&#xff1a;确保系统界面清晰&#xff0c…

抖音短视频矩阵管理系统搭建全攻略:功能详解与实战应用

在短视频时代&#xff0c;抖音已经成为众多企业、网红、个人创作者不可或缺的传播平台。然而&#xff0c;如何高效管理多个抖音账号&#xff0c;实现内容、数据、粉丝的全方位掌控&#xff0c;成为了摆在大家面前的一道难题。本文将为大家深入解析抖音短视频矩阵管理系统的搭建…

项目管理工具评测:2024年国内外最顶级的10款项目管理工具排行

国内外涌现出众多优秀的项目管理工具&#xff0c;它们各自在功能、易用性、集成能力等方面展现出独特优势。以下是国内外顶级的10款项目管理工具&#xff1a; 一、进度猫 推荐理由&#xff1a;进度猫以其直观的任务管理和进度跟踪功能&#xff0c;成为许多团队和项目的首选…

C++入门 模仿mysql控制台输出表格

一、 说明 控制台输出表格&#xff0c;自适应宽度 二、 源码 #include <iostream> #include <map> #include <string> #include <vector>using namespace std;void printTable(vector<vector<string>> *pTableData) {int row pTableDa…

Leetcode104.求二叉树的最大深度

题目描述 递归法 class Solution {public int maxDepth(TreeNode root) {if (root null) { //帮助下面的else语句判空return 0;} else {int leftHeight maxDepth(root.left);int rightHeight maxDepth(root.right);/*** 要注意的点* 1. 这个return是写在else语句里面的&am…

ABeam News | FY25 ABeam德硕大中华区入社式,飞往崭新航向!

FY25 ABeam大中华区入社式 7月1日&#xff0c;51名 ABeam大中华区新生在艾宾信息技术开发&#xff08;上海&#xff09;有限公司大连分公司&#xff08;以下简称TDC&#xff09;报到&#xff0c;我们为他们的到来准备了隆重的入社仪式&#xff0c;并举办了热情而又温馨的欢迎晚…

通过图像高频信息保留图像细节,能保留多少细节-Comfyui

&#x1f9e8;前情提要 如果还不了解comfyui中图像高频信息保留细节的内容&#xff0c;可以参考上一篇文章&#xff1a; 图像中高频信息、低频信息与ComfyUI中图像细节保留的简单研究-CSDN博客 这次主要是简单测试下保留图像细节&#xff0c;能保留到什么程度&#xff1b; …

JavaScript(7)——数组

JavaScript中数组的用法与Java差不多&#xff0c;但还是有一些区别 声明数组 语法: let 数组名 [数据1,数据2,数据...] let arr new Array(数据1,数据2,...数据n) 添加数据 数组.push()方法将一个或多个元素添加到数组末尾&#xff0c;并返回该数组新长度 <script>…

【AI大模型新型智算中心技术建设白皮书 2024】

文末有福利&#xff01; 一、新算效——重塑计算架构 1.1 下一代 AI 芯片设计思路 以 GPU 为 代 表 的 高 性 能 并 行 计 算 芯 片 架 构 和 以 针 对 AI 领 域 专 用 加 速&#xff08;DSA, Domain Specific Architecture&#xff0c;DSA&#xff09;为代表的芯片架构是目…

麦克风领夹式的哪个牌子最好,无线领夹麦克风十大品牌

在直播和自媒体行业迅速崛起的今天&#xff0c;无线麦克风因其便携性和实用性成为了视频制作和直播带货中不可或缺的工具。面对市场上从几十元到几千元不等的无线麦克风&#xff0c;作为一位资深直播运营专家&#xff0c;我深知选择合适的设备对于提升直播质量和观众体验的重要…

排序相关算法--1.插入排序+冒泡排序回顾

1.基本分类 2.插入排序 特点&#xff1a;有实践意义&#xff08;例如后期快排的优化&#xff09;&#xff0c;适应性强&#xff0c;一般不会到时间复杂度最坏的情况。 将第一个元素视为已经排好序的序列。取出下一个元素&#xff0c;在已经排好序的序列中从后往前比较&#xf…

3SRB5016-ASEMI逆变箱专用3SRB5016

编辑&#xff1a;ll 3SRB5016-ASEMI逆变箱专用3SRB5016 型号&#xff1a;3SRB5016 品牌&#xff1a;ASEMI 封装&#xff1a;SGBJ-5 批号&#xff1a;2024 现货&#xff1a;50000 最大重复峰值反向电压&#xff1a;1600V 最大正向平均整流电流(Vdss)&#xff1a;50A 功…

C 语言中如何实现字符串的拼接?

&#x1f345;关注博主&#x1f397;️ 带你畅游技术世界&#xff0c;不错过每一次成长机会&#xff01; &#x1f4d9;C 语言百万年薪修炼课程 【https://dwz.mosong.cc/cyyjc】通俗易懂&#xff0c;深入浅出&#xff0c;匠心打磨&#xff0c;死磕细节&#xff0c;6年迭代&…

GB28181设备如何添加

简介 此篇描述视频网关&#xff08;中间件&#xff09;接入大华、海康、ONVIF设备&#xff08;NVR、摄像头&#xff09;、GB28181设备步骤和流程。 阅读本文档之前建议先阅览视频网关&#xff08;中间件&#xff09;用户使用手册。 接入方式和说明 视频网关&#xff08;中间…