01-ZYNQ linux开发环境安装,基于Petalinux2023.2和Vitis2023.2

news2024/9/22 1:30:46

TFTP 服务器配置

  1. 安装安装 tftp-hpa 和 tftpd-hpa ;tftp-hpa 客户端,tftpd-hpa 为服务端
#安装 tftp-hpa 和 tftpd-hpa
sudo apt-get install tftp-hpa tftpd-hpa
  1. 配置服务器
#创建路径
mkdir -p  ~/workspace/tftp-boot
chmod 777 ~/workspace/tftp-boot
#进入路径
cd  ~/workspace/tftp-boot
#查看绝对路径
pwd
#打开配置文件
sudo gedit /etc/default/tftpd-hpa

文件内容如下:

# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="通过pwd查看到的绝对路径"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s"
  1. 重启 tftp 服务
sudo service tftpd-hpa restart
  1. 测试tftp服务器
#生成测试文件
echo 123456789 >> tftp-test.txt
#通过本地IP登录tftp服务器,192.168.2.39是本机IP
tftp 192.168.2.39
#将文件上传到TFTP服务器
put tftp-test.txt
#退出tftp服务器
q
#检测服务器上的文件是否正确
cat ~/workspace/tftp-boot/tftp-test.txt

NFS 服务器配置

  1. 安装 nfs 服务器和客户端
##安装 nfs 服务器,此时 nfs 客户端 nfs-common 等软件会被自动安装会被自动安装,安装过程中根据提示输入小写的“y”
sudo apt-get install nfs-kernel-server
  1. 配置服务器
#创建工作路径
mkdir -p ~/workspace/nfs-rootfs
chmod 777 ~/workspace/nfs-rootfs
#进入路径
cd  ~/workspace/nfs-rootfs
#查看绝对路径
pwd
#打开配置文件
sudo gedit /etc/exports

在文件末尾增加如下内容:

通过pwd查看到的绝对路径 *(insecure,rw,sync,no_root_squash,no_subtree_check)
  1. 重启 nfs 服务
sudo /etc/init.d/nfs-kernel-server restart
  1. 挂载测试
#挂在到mnt目录
sudo mount -t nfs 192.168.2.39:通过pwd查看到的绝对路径 /mnt/
#在mnt目录创建文件
echo 123456789 >> /mnt/nfs-test.txt
#检测nfs工作目录是否有对应的文件
cat ~/workspace/nfs-rootfs/nfs-test.txt
#取消挂在
sudo umount /mnt

petalinux安装

Petalinux 工具是 Xilinx 公司推出的嵌入式 Linux 开发套件,包括了 u-boot、Linux Kernel、device-tree、rootfs 等源码和库,以及 Yocto recipes,可以让客户很方便的生成、配置、编译及自定义 Linux 系统。Petalinux 支持 Versal 、Zynq UltraScale+ MPSoC、Zynq-7000 SoC 以及 MicroBlaze,可与 Xilinx 硬件设计工具 Vivado 协同工作,大大简化了 Linux 系统的开发工作。

下载 Petalinux 安装包

可从“赛灵思官网”下载 Petalinux 安装包和对应的sstate-cache包。
在这里插入图片描述
网页拉到最下面可以看到对应的sstate-cache包,其中 Downloads (TAR/GZIP - 52.57 GB)包括了所有平台(即 aarch64、arm、microblaze),在使用时工具需求下载。
在这里插入图片描述

安装环境要求

  1. RAM>8G
  2. CPU频率>2G,核心>8核
  3. HDD>100g
  4. 支持的操作系统
    -Ubuntu Desktop/Server 18.04.1 LTS, 18.04.2 LTS, 18.04.3 LTS, 18.04.4 LTS, 18.04.5 LTS, 18.04.06 LTS, 20.04.2 LTS, 20.04.3 LTS, 20.04.4 LTS, 20.04.5 LTS(64-bit),20.04.6 LTS, 22.04 LTS, 22.04.1 LTS and 22.04.2 LTS
    -OpenSuse Leap 15.3 and 15.4
    -AlmaLinux 8.7 and 9.1
  5. 主机系统/bin/sh是“bash”, Ubuntu可以 sudo dpkg-reconfigure dash 命令将/bin/sh改为“bash”

安装所依赖的软件

在安装 Petalinux 之前我们需要为 Ubuntu 系统安装一些必要的运行软件以及依赖库。

#更新软件包
sudo apt-get update
#升级已经安装的软件
sudo apt-get upgrade
#根据提示输入小写的"y"
sudo apt-get install iproute2 gawk python3 python build-essential gcc git make net-tools libncurses5-dev tftpd zlib1g-dev libssl-dev flex bison libselinux1 gnupg wget git-core diffstat chrpath socat xterm autoconf libtool tar unzip texinfo zlib1g-dev gcc-multilib automake zlib1g:i386 screen pax gzip cpio python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint3 

修改 bash

Petalinux 工具需要主机系统的/bin/sh 是 bash,而 Ubuntu 默认的/bin/sh 是 dash,所以这里需要进行更改。运行如下命令进行修改

sudo dpkg-reconfigure dash

执行结果如下图所示:
在这里插入图片描述
选择“NO”按下回车即可。

安装 petalinux

  1. 创建安装目录
sudo chown -R $USER:$USER /opt
mkdir -p /opt/pkg/petalinux2023.2
chmod 755 /opt/pkg/petalinux2023.2
  1. 运行安装命令
    petalinux的安装命令格式如下:
#--log <LOGFILE>用于指定安装日志输出路径,默认为当前路径
#-d|--dir <INSTALL_DIR>用于指定安装路径,默认为当前路径
#-p|--platform <arch_name>用于指定平台,可选"aarch64""arm""MicroBlaze",默认为所有平台进行安装
./petalinux-v2023.2-10121855-installer.run  [--log <LOGFILE>] [-d|--dir <INSTALL_DIR>] [-p|--platform <arch_name>]

这里为所有平台安装petalinux到/opt/pkg/petalinux2023.2目录中:

chmod 755 petalinux-v2023.2-10121855-installer.run
./petalinux-v2023.2-10121855-installer.run -d /opt/pkg/petalinux2023.2/

运行上述命令后,需要等待一段时间,当出现“Press Enter to display the license agreements”字样的时候,如下图所示:
在这里插入图片描述
此时按下键盘上的回车键 Enter,显示协议内容如下:
在这里插入图片描述
若不想关心协议内容可以按q键退出
在这里插入图片描述
返回后选y同意协议,后面还有几个协议,也采用相同的方法查看并同意便可继续进行安装。
3. 设置 Petalinux 环境变量

#进入安装目录
cd /opt/pkg/petalinux2023.2/
#设置Petalinux环境变量
source settings.sh
#若设置成功执行此命令应输出Petalinux安装路径
echo $PETALINUX
  1. 将设置 Petalinux 环境变量的命令设置成别名
    每次打开终端使用 Petalinux 都需要设置相应的环境变量,为了方便可以将设置 Petalinux 环境变量的命令设置成别名,这样使用起来就方便些,设置别名方法的很简单,在终端输入如下命令:
#注意,此指令需要在设置Petalinux环境变量后运行,以后通过命令petalinux2023即可完成petalinux环境变量设置
echo "alias petalinux2023='source $PETALINUX/settings.sh'" >> ~/.bashrc
  1. 安装sstate-cache
    在使用Petalinux编译工程的过程中会从网上下载一些软件包,若网络不稳定会导致下载失败,从而无法完成工程编译,sstate-cache中包含了 Petalinux 编译时需要的各种软件包和库,将其解压到/opt/pkg/sstate_arm_2023.2目录中即可,后边配置Petalinux工程时将“Yocto Settings —>Local sstate feeds settings—>local sstate feeds url”设置为/opt/pkg/sstate_arm_2023.2/arm即可。
#创建目录
mkdir -p /opt/pkg/sstate_arm_2023.2
#解压sstate-cache包
tar -vxf sstate_arm_2023.2_10121051.tar.gz  -C /opt/pkg/sstate_arm_2023.2/

Vitis 安装

Vitis 是用来开发 Linux 应用的软件,使用这个软件开发 Linux 应用,既方便了工程管理,也免去了自己写Makefile的必要,此外在移植一些Linux 库或软件的时候还需要用到 Vitis 提供的编译工具链(因为petalinux2023.2没有直接提供编译Linux应用程序的编译器)。

下载 Vitis 安装包

可从赛灵思官网下载 Vitis 安装包,这里下载的是离线安装包。
在这里插入图片描述
在这里插入图片描述

安装 Vitis

  1. 解压下载的安装包
#文件很大,解压时间较长
tar -vxf FPGAs_AdaptiveSoCs_Unified_2023.2_1013_2256.tar.gz
  1. 运行安装向导
./xsetup
  1. 点击Continue
    在这里插入图片描述
  2. 点击next,进入到产品安装选择界面
    在这里插入图片描述
  3. 在产品安装界面选择vitis(注意:vitis包含了Vivado套件,Vivado则是可以选择是否安装vitis),然后点击next,进入Vitis Software Platform 设置界面
    在这里插入图片描述
  4. 在进入Vitis Software Platform 设置界面选择需要支持的器件,然后点击next,进入许可协议界面
    在这里插入图片描述
  5. 在许可协议界面全部勾选同意,然后点击next,进入安装路径选择界面
    在这里插入图片描述
  6. 安装路径选择界面选择安装路径(安装路径需要有读写权限),然后点击next,在弹出的路径确认窗口中点击yes,接下来进入“Installation Summary”界面
    在这里插入图片描述
  7. 在“Installation Summary”界面,点击“Install”开始安装
    在这里插入图片描述
  8. 加载Vitis环境变量,在需要Vitis提供的编译器时可以执行如下命令:
source /opt/pkg/Xilinx2023.2/Vitis/2023.2/settings64.sh
  1. 将加载Vitis环境变量的命令设置为别名,以后便可通过vitis2023快速完成Vitis环境变量的加载
echo "alias vitis2023='source /opt/pkg/Xilinx2023.2/Vitis/2023.2/settings64.sh'" >> ~/.bashrc

安装 JTAG cable 驱动

注意的是在安装 jtag 驱动之前,请不要将 jtag 下载器连接到电脑,已经接到电脑的,最好先拔掉

  1. 打开终端,进入到 petalinux 安装目录,可以看到有一个名为“tools”的目录,jtag驱动程序在该目录下。
    在这里插入图片描述
  2. 进入jtag驱动程序所在该目录,可以看到该目录下有一个名为“install_drivers”的文件
d tools/xsct/data/xicom/cable_drivers/lin64/install_script/install_drivers

在这里插入图片描述3.
3. 以 root 权限执行install_drivers文件,安装 jtag 驱动程序

sudo ./install_drivers

在这里插入图片描述
4. 至此jtag 驱动安装完成,下面说下在遇到 jtag 驱动问题时,如何删除 jtag 驱动。注意如无特需情况,请不要执行下面的命令

sudo rm -f /etc/udev/rules.d/52-xilinx-digilent-usb.rules
sudo rm -f /etc/udev/rules.d/52-xilinx-ftdi-usb.rules
sudo rm -f /etc/udev/rules.d/52-xilinx-pcusb.rules

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

开放式耳机什么品牌好?2024年开放式蓝牙耳机排行榜推荐

​开放式耳机绝对是个不错的选择&#xff0c;它们长时间佩戴耳朵也不会感到疲劳&#xff0c;对耳朵的健康也很友好。虽然过去存在一些漏音的问题&#xff0c;但与它们带来的便利相比&#xff0c;这点儿小瑕疵几乎可以忽略不计。漏音可能会对他人造成干扰&#xff0c;也可能影响…

vue3(整合版)

创建第一个vue项目 1.安装node.js cmd输入node查看是否安装成功 2.vscode开启一个终端&#xff0c;配置淘宝镜像 # 修改为淘宝镜像源 npm config set registry https://registry.npmmirror.com 输入如下命令创建第一个Vue项目 3.下载依赖&#xff0c;启动项目 访问5173端口 …

年度巨献 | OpenCSG开源最大中文合成数据集Chinese Cosmopedia

01 背景 近年来&#xff0c;生成式语言模型&#xff08;GLM&#xff09;的飞速发展正在重塑人工智能领域&#xff0c;尤其是在自然语言处理、内容创作和智能客服等领域展现出巨大潜力。然而&#xff0c;大多数领先的语言模型主要依赖于英文数据集进行训练&#xff0c;中文数据…

python:给1个整数,你怎么判断是否等于2的幂次方?

最近在csdn上刷到一个比较简单的题目&#xff0c;题目要求不使用循环和递归来实现检查1个整数是否等于2的幂次方&#xff0c;题目如下&#xff1a; 题目的答案如下&#xff1a; def isPowerofTwo(n):z bin(n)[2:]print(bin(n))if z[0] ! 1:return Falsefor i in z[1:]:if i !…

NXP官方或正点原子mfgtool下载系统报错initialize the library falied error code:29

这是因为mfgtool版本或者源文件被破坏了&#xff0c;你可以重新下载一个被改过的mfgtool程序&#xff0c;我就是去原子官网重新在linux包里找了新的更迭过的mfgtool

VMware虚拟机因磁盘空间不足黑屏无法登录

在虚拟机里存储了一些文件之后&#xff0c;再打开发现进不去了&#xff0c;只有光标一直在左上角&#xff0c;登录的框都是黑的&#xff0c;具体如下&#xff1a; 明明知道登录框的存在却怎么也触碰不到它T_T &#xff0c;先说解决方法&#xff1a; 产生这个问题的原因是因为磁…

yolov5/8/9模型在COCO分割数据集上的应用【代码+数据集+python环境+GUI系统】

yolov5/8/9模型在COCO分割数据集上的应用【代码数据集python环境GUI系统】 yolov5/8/9模型在COCO分割数据集上的应用【代码数据集python环境GUI系统】 1.COCO数据集介绍 COCO数据集&#xff0c;全称为Microsoft Common Objects in Context&#xff0c;是微软于2014年出资标注的…

多态与绑定例题

答案&#xff1a; B D C 知识点&#xff1a; 多态是相同方法不同的表现&#xff0c;分为重写和重载 重写体现在父类与子类不同表现&#xff0c;主要表现为子类重现父类的方法 重载体现在同一个类中的不同表现 绑定分为动态绑定和静态绑定 动态绑定是在运行时 静态绑定是…

动态规划算法:09.路径问题_最小路径和_C++

目录 题目链接&#xff1a;LCR 099. 最小路径和 - 力扣&#xff08;LeetCode&#xff09; 一、题目解析 题目&#xff1a; 解析&#xff1a; 二、算法原理 1、状态表示 2、状态转移方程 3、初始化 dp表初始化: 特殊位置初始化&#xff1a; 4、填表顺序 5、返回值 …

【HTTP】认识 URL 和 URL encode

文章目录 认识 URLURL 基本格式**带层次的文件路径****查询字符串****片段标识符** URL encode 认识 URL 计算机中非常重要的概念&#xff0c;并不仅仅是在 HTTP 中使用。用来描述一个网络资源所处的位置&#xff0c;全称“唯一资源定位符” URI 是“唯一资源标识符“严格的说…

超越极限!Qwen2.5 助力多领域智能应用

前沿科技速递&#x1f680; 近日&#xff0c;Qwen2.5 系列重磅发布&#xff0c;成为开源语言模型领域的又一里程碑。作为一款全新的通用语言模型&#xff0c;Qwen2.5 在支持自然语言处理的基础上&#xff0c;还在编程、数学等领域进行了专项优化。Qwen2.5 模型支持长文本生成&a…

黑群晖安装教程

黑群晖&#xff08;一种非官方的群晖NAS系统安装方式&#xff09;的安装教程相对复杂&#xff0c;但按照以下步骤操作&#xff0c;可以顺利完成安装。请注意&#xff0c;由于黑群晖涉及非官方操作&#xff0c;安装过程中可能遇到各种不确定因素&#xff0c;建议具备一定的计算机…

十四、运算放大电路

运算放大电路 1、理想运算放大器的概念。运放的输入端虚拟短路、虚拟断路之间的区别; 2、反相输入方式的运放电路的主要用途&#xff0c;以及输入电压与输出电压信号的相位 3、同相输入方式下的增益表达式(输入阻抗、输出阻抗)

英语<数词>

1.基数 one two three 整数 1 2 3 小数 1.1 2.2 3.2 分数 分子用基数&#xff0c;分母用序数 例子 1/3 one third 分子>1 2/3 two thirds 百分数 2.序数 first second

【软考】传输层协议TCP与UDP

目录 1. TCP1.1 说明1.2 三次握手 2. UDP3. 例题3.1 例题1 1. TCP 1.1 说明 1.TCP(Transmission Control Protocol&#xff0c;传输控制协议)是整个 TCP/IP 协议族中最重要的协议之一。2.它在IP提供的不可靠数据服务的基础上为应用程序提供了一个可靠的、面向连接的、全双工的…

[UTCTF2020]sstv

用goldwave和010editor打开均未发现线索&#xff0c; 网上搜索sstv&#xff0c;豆包回答如下&#xff1a; 慢扫描电视&#xff08;Slow Scan Television&#xff0c;简称 SSTV&#xff09;是一种通过无线电传输和接收静态图像的技术。 一、工作原理 SSTV 通过将图像逐行扫描并…

十九、石英晶体振荡电路

石英晶体振荡电路 1、石英晶体的特点、等效电路、特性曲线; 2、石英晶体振动器的特点&#xff0c; 3、石英晶体振动器的振荡频率

Vision Transformer (ViT)、Swin Transformer 和 Focal Transformer

1. Vision Transformer (ViT) Vision Transformer详解-CSDN博客https://blog.csdn.net/qq_37541097/article/details/118242600?ops_request_misc%257B%2522request%255Fid%2522%253A%2522F8BBAFBF-A4A1-4D38-9C0F-9A43B56AF6DB%2522%252C%2522scm%2522%253A%252220140713.13…

互联网全景消息(5)之RocketMq快速入门(下)

一、RocketMQ的存储设计 1.1 Domain Model 1.1.1 Message Message是RocketMQ消息引擎中的主体。messageId是全局唯一的。MessageKey是业务系统(生产者)生成的,所以如果要结合业务,可以使用MessageKey作为业务系统的唯一索引。 1.1.2 Topic subTopics==Message Queue,其实…

机器学习——Stacking

Stacking&#xff1a; 方法&#xff1a;训练多个模型(可以是强模型)&#xff0c;然后将这些模型的预测结果作为新的特征&#xff0c;输入到下一层新的模型&#xff08;可以是多个&#xff09;中进行训练&#xff0c;从而得到最终的预测结果。 代表&#xff1a;Stacking本身并没…