ZYNQ学习之PetaLinux与Vitis的安装

基本都是摘抄正点原子的文章:<领航者 ZYNQ 之嵌入式Linux 开发指南 V3.2.pdf,因初次学习,仅作学习摘录之用,有不懂之处后续会继续更新~

一、Petalinux安装

1.1、Petalinux资源下载

 百度云安装包:

Petalinux 安装包:百度云-提取码:dv5y 

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工具网站:

https://china.xilinx.com/products/design-tools/embeddedsoftware/petalinux-sdk.html

(注:需要注册 Xilinx 账号并登陆才能下载)

 

1.2、PetaLinux依赖库以及软件安装

将 petalinux 安装包文件 petalinux-v2020.2-final-installer.run 拷贝到 share 共享目录,在 Ubuntu 系统中,打开终端,切换到/mnt/hgfs/share/目录,可以看到 petalinux 的安装文件 petalinux-v2020.2-final-installer.run 已在该目录,可直接访问,如下图所示:

89275ad3c9724a0a9bd3651fa13c9560.png

在安装 Petalinux 之前需要为 Ubuntu 系统安装一些必要的运行软件以及依赖库,所以需要确保 Ubuntu 能够正常上网。

1.2.1 使用命令安装

打开 Ubuntu Terminal 终端执行如下命令(该命令是一行,不要分开成多行):

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

该命令暂未起作用,建议使用官方提供的脚本安装,参考下述2.1.2。

1.2.2 使用 Xilinx 提供的脚本 plnx-env-setup.sh安装。

该脚本可以从如下链接处下载:73296 - PetaLinux: How to install the required packages for the PetaLinux Build Host?

如下图所示:

0f2e919388b54332b6a294e2c21d2293.png

1c3fc122293c4fba8f40468db3d7ed6c.png

a2a082265126448fa34ae928fe92a161.png

将下载后的脚本拷贝到 Ubuntu 虚拟机中(本地共享文件处),打开 Ubuntu Terminal 终端,先切换到本地共享文件夹处,然后执行输入如下命令以执行此脚本:

cd /mnt/hgfs/share

sudo ./plnx-env-setup.sh

先切换到本地共享文件夹处,然后再执行上述命令,如下图所示:

9743057140934fd08e48cdeb6c291259.png

这里需要等待10分钟左右,如果系统中已经有部分库/软件,会弹出配置文件是否需要修改,输入y,如下图:

f5e4279a2dc74256b4abf830ff6d3f2d.png

为什么是Y?

  •  避免这个配置文件有新的默认更新部分,因此这里输入y,更新配置文件。
  •  如果其他库或软件需要这个配置文件并且配置被更改,则删掉其他库或软件再重新安装即可(毕竟工作量是不一样的)。

接下来等待2分钟左右软件以及库安装完成,如下图所示:

fa91369e499d4f07a2d93e34cb50518f.png

1.3 修改bash

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

sudo dpkg-reconfigure dash

执行结果如下图所示:

fef5f8781e6a44ec9d959d803851c3c9.png

选择“否”按下回车即可。

a193a60a2afb4ba5bfe63b6af4b1811d.png

1.4 安装 Petalinux

安装 Petalinux 就要考虑安装位置了,对于 Petalinux 这种体积庞大的工具,将其放在/opt 目录下。

在/opt 目录下新建专门存放 Petalinux 的文件夹,如/opt/pkg/petalinux/2020.2,在终端输入以下命令即可:

sudo chown -R $USER:$USER /opt

mkdir -p /opt/pkg/petalinux/2020.2

chown命令将/opt 目录的属主和属组更改为当前的用户名,如正在用的Ubuntu用户名为gbxluo,执行的 chown 命令就相当于“sudo chown -R gbxluo:gbxluo/opt”,

e98dc4b0bcda49b0996167088359e98b.png

然后通过 mkdir 创建安装目录。

08f49b138b754df7a34b98d8e43991a5.png

现在将 petalinux 安装在/opt/pkg/petalinux/2020.2 目录下,在终端中输入如下命令:

./petalinux-v2020.2-final-installer.run -d /opt/pkg/petalinux/2020.2

执行 Petalinux 的安装,等待 一段时间,当出现 “ Press Enter to display the license agreements”字样的时候,如下图所示:

cab350d7fd3e4d6dbb923067138769c2.png

提示按下回车键显示软件许可协议,按下键盘上的回车键 Enter,显示协议内容如下:

7d3cfd25d3754c1c8a5d548080c304c9.png

直接按下键盘上的 Q 键退出,回到之前的界面之后会出现一个选择项,询问我们是否接受 xilinx 最终用户协议。

b7ca1158bfa54bb2b8cbd2683c9ed038.png

这个显然是没得选,必须接受,否则无法进行下面的安装;输入 y 按回车接受。除了 xilinx 最终用户协议之外,还有两个协议也需要大家接受,会依次显示在终端上,同理也是输入 Y 按下回车接受(同理也是显示协议时,键入q退出)。

c56ad2967cae4e348ff6df1862719187.png

570e0efa8f1d47018fcc6317e558eb98.png

接受所有协议之后 Petalinux 安装工具便会继续安装,直到安装完成。安装完成之后,我们进入到安装目录下,目录内容如下图所示:

e3c489d6d84d4f48a01a8571f16e8b3c.png

1.5 设置 Petalinux 环境变量

在正式使用 petalinux 工具之前,需要先运行 petalinux 安装目录下的 settings.sh 脚本文件设置 petalinux 工作环境,settings.sh 脚本用于 bash,还有一个 settings.csh 用于 C shell,如下图所示:

0b2d9caf258d44088aedb0ae55b71fd0.png

一般默认情况下,使用 bash 登录 shell,所以 source 脚本文件 settings.sh 对 petalinux 所需的运行环境进行配置,命令如下:

cd /opt/pkg/petalinux/2020.2/

source settings.sh

需要注意的是该命令只对当前终端有效,重新打开终端后需要重新执行这一步。执行结果如下图所示:

53f4a00650814fb1bbebf2c3fdb57d9e.png

验证下工作环境是否已设置,在终端输入如下命令:

echo $PETALINUX

结果如下图所示:

7103c9515e464a58aa2ba6d59a09de5b.png

显示 Petalinux 的安装目录,表明工作环境已设置。现在可以使用 Petalinux 工具了。

 

鉴于每次打开终端使用 Petalinux 都需要设置相应的环境变量,我们为了方便,将设置 Petalinux 环境变量的命令设置成别名,这样我们使用起来就方便些。设置别名方法的很简单,在终端输入如下命令:

echo "alias sptl='source $PETALINUX/settings.sh'" >> ~/.bashrc

7058103f828b4f818fb685513c82e80c.png

以后打开终端后,输入 sptl 就可以设置 Petalinux 的环境变量了,无需输入长长的路径。sptl 的记忆法是 Source PeTaLinux 的环境变量

提醒:在使用 linux 的时候要善用别名但不要滥用别名。

应该是不要用关键字!

二、安装 Vitis 软件与JTAG驱动

注意:Vitis安装包含Vivado软件

2.1 Vitis安装包

Vitis 是用来开发 Linux 应用的软件,使用这个软件开发 Linux 应用,既方便了工程管理, 也免去了自己写 Makefile 的必要。

Linux系统下的Vitis与Windows 系统下的Vitis 软件的使用方法基本是一样的。

百度云资源:

Linux版本百度云资源提取码:vy0b 

d56578f6d9d5475b80eb602fb778037e.png

2.2 本地安装 Vitis 软件

2.2.1 解压缩

将百度云中的资源全部下载复制到本地share 共享文件夹下,有如下文件:

Xilinx_Unified_2020.2_1118_1232.z01

Xilinx_Unified_2020.2_1118_1232.z02

Xilinx_Unified_2020.2_1118_1232.z03  
 Xilinx_Unified_2020.2_1118_1232.z04
 Xilinx_Unified_2020.2_1118_1232.zip
安装说明.txt

进入 Ubuntu 系统中,打开终端,切换到/mnt/hgfs/share/目录,可以看到 Vitis 的压缩包文件都已在该目录:

0b9d6108c3ba43fa89b58037691a7746.png

在windows环境下,选中“Xilinx_Unified_2020.2_1118_1232.zip”并右键解压缩,如下图:

6c6dba2af25144dbae80dc18b26e7d2e.png

安装说明内容如下:

注意Vivado(LINUX)下的Vivado安装包的压缩文件比较大,所以我们进行了分包压缩,这里分成了五个压缩包。
安装时需要将该文件夹下的五个压缩包全部下载下来,五个压缩包下载完成后,只需要解压其中的“Xilinx_Unified_2020.2_1118_1232.zip”文件,则可解压全部文件。

3642036ea99840ae9b775eb0a56a9a68.png

 解压后的文件夹:

037d06e7912745b796280dc8d55e5343.png

2.2.2 安装Vitis

解压完成后,进入该文件夹下,输入

sudo ./xsetup

弹出如下图所示的安装界面:

2165e28891b440ee88aa37525185a5ef.png

 

ce7212d236384ff198eb88a63c539261.png

fc2fd32c367141618a389b50f7516ce5.png

点击上图中“Next”,在接下来的安装产品选择界面中,选择默认的“Vitis”,

注意 Vitis 软件包含了 Vivado 软件,然后点击“Next”按钮,如下图所示:

98b700f8355341aab34f2b2edb51842f.png

进入 Vitis Software Platform 设置界面,包含的器件库选项中只保留 Zynq-7000 一项,其 它器件都取消勾选,如下图所示:

a8762d7aaf7f47eaacbbf65c8f191a1f.png

点击“Next”进入许可协议界面,全部勾选同意,如下图所示:

d5452bf489354e24a1aa5757dec17b36.png

点击“Next”,进入安装路径选择界面,这里设置为“/opt/pkg/tools/Xilinx”,如下图所示:

8e63bbdcbeca44b69470f846f1bf9e1c.png

点击“Next”,在弹出的路径确认窗口中点击“yes”,如下图所示:

b338d13d2e6849fdb53736170fde33be.png

接下来进入“Installation Summary”界面,点击“Install”开始下载并安装,如下图所示:

c0e03a2619c841a9ae6ef3360204f491.png

安装需要的时间比较长,我们只需要等待其安装完成就行。

87ee79a9449b4969b57db2ae60e9807a.png

75efa292f0d94ea783af4f0f7983419c.png

关闭Xilinx Information Center:

dfc37c584f2846158a25f7f3a40100e1.png

 

2.2.3 创建Vitis桌面快捷方式

在 Ubuntu 中,所有的快捷方式都是存放在 /usr/share/applications 中的,因此安装完成后,桌面上并没有软件的快捷方式。

解决方法:创建一个类似于“快捷方式”一样的文件放在该目录中即可。

打开终端输入如下命令:

cd /usr/share/applications

sudo gedit Vitis.desktops

在/usr/share/applications目录下创建Vitis.desktop 文件并弹出gedit编辑窗口,输入如下内容:

[Desktop Entry]

Encoding=UTF-8

Type=Application

Name=Xilinx Vitis 2020.2

Comment=Xilinx Vitis 2020.2 Icon=/opt/pkg/tools/Xilinx/Vitis/2020.2/doc/images/ide_icon.png Exec=/opt/pkg/tools/Xilinx/Vitis/2020.2/bin/vitis

bcb402b093dd4868ac4f84c024093fda.png

保存之后,退出编辑界面,回到终端修改该文件的权限,输入:

sudo chmod 777 Vitis.desktop

555971dc2a394864abee623c2d7c675e.png

最后进入到/usr/share/applications目录中即可看到visits软件快捷方式,双击即可打开Vitis软件:

3ccfa2efa0544d2590506b1072d9c8a9.png

双击Vitis.desktop即可打开Vitis软件,如下图:

e35044aa4d4a4abaa17d31a5b3c7ca7f.png

创建 Vivado 和 Vitis HLS 是相同的步骤,在编辑的.desktop 文件分别输入:

Vivado 示例:

[Desktop Entry]

Encoding=UTF-8

Type=Application

Name=Vivado 2020.2

Comment=Vivado 2020.2 Icon=/opt/pkg/tools/Xilinx/Vivado/2020.2/doc/images/vivado_logo.png

Exec=/opt/pkg/tools/Xilinx/Vivado/2020.2/bin/vivado

Vitis HLS 示例:

[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=Vitis HLS 2020.2
Comment=Vitis HLS 2020.2
Icon=/opt/pkg/tools/Xilinx/Vitis_HLS/2020.2/doc/images/vitis_hls_icon.png
Exec=/opt/pkg/tools/Xilinx/Vitis_HLS/2020.2/bin/vitis_hls

双击即可打开软件,如果出现未信任的应用程序启动器,点击“Trust and Lanch”即可。

 

2.3 JTAG cable驱动的安装与删除

在嵌入式开发中,都是通过在线 jtag 进行调试的,这种调试方式方便快捷,在使用 Petalinux 进行 Linux 开发中,其实也是可以使用 JTAG 的,不过对于 Linux 系统,由于安装驱动程序需要 root 或 sudo 访问权限,因此从 Vivado 2015.4 版本开始,默认不安装 jtag 驱动。这样 Vivado 安装程序和 Petalinux 安装程序可以在没有 root 或 sudo 特权的 Linux 系统上运行。这也导致了在 linux 系统中,jtag 驱动需要手动安装。

2.3.1 安装JTAG cable驱动

下面介绍如何在 Ubuntu 主机中安装jtag 驱动(其他 Linux 系统同样适用)。

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

在 Ubuntu 系统中,打开终端,以普通用户运行即可。进入到 petalinux 安装目录,如下图所示:

e9cc03b15ec548bd86ad2316b247ea93.png

可以看到有一个名为“tools”的目录,jtag 驱动程序在该目录下,输入以下命令进入到 jtag 驱动程序所在位置:

cd tools/xsct/data/xicom/cable_drivers/lin64/install_script/install_drivers

可以看到该目录下有一个名为“install_drivers”的文件,如下图所示:

f05a9522a23c476893a58c09f99a266c.png

输入如下命令,以 root 权限执行该文件,安装 jtag 驱动程序:

sudo ./install_drivers

执行结果如下图所示:

6e7d5075cff540f48abe8be4a9d4d699.png

 

2.3.2 删除JTAG cable驱动

在遇到 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

参考链接:

ZYNQ领航者V2开发板 — 正点原子资料下载中心 1.0.0 文档

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql 设置初始密码

link 1.首先输入以下指令&#xff1a; sudo cat /etc/mysql/debian.cnf运行截图如下&#xff1a; 2. 再输入以下指令&#xff1a; mysql -u debian-sys-maint -p//注意! //这条指令的密码输入是输入第一条指令获得的信息中的 password ZCt7QB7d8O3rFKQZ 得来。//请根据自己的实…

java复原IP 地址(力扣Leetcode93)

复原IP 地址 力扣原题链接 问题描述 有效 IP 地址正好由四个整数&#xff08;每个整数位于 0 到 255 之间组成&#xff0c;且不能含有前导 0&#xff09;&#xff0c;整数之间用 ‘.’ 分隔。 例如&#xff1a;“0.1.2.201” 和 “192.168.1.1” 是有效 IP 地址&#xff0c…

【如何解决一些常见的 Composer 错误的保姆级讲解】

&#x1f308;个人主页:程序员不想敲代码啊&#x1f308; &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家&#x1f3c6; &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提…

游戏领域AI智能视频剪辑解决方案

游戏行业作为文化创意产业的重要组成部分&#xff0c;其发展和创新速度令人瞩目。然而&#xff0c;随着游戏内容的日益丰富和直播文化的兴起&#xff0c;传统的视频剪辑方式已难以满足玩家和观众日益增长的需求。美摄科技&#xff0c;凭借其在AI智能视频剪辑领域的深厚积累和创…

大规模云存储展望|2024逐步复苏,2025全面恢复

SSD以其高速度和低延迟等优点&#xff0c;尤其在容量增长和每GB成本降低方面&#xff0c;SSD的增长速度预计将超过近线硬盘&#xff08;Nearline HDD&#xff09;。尽管HDD在大容量存储方面仍有一定优势&#xff0c;但由于SSD在访问速度、能耗及体积等方面的突出表现&#xff0…

AcWing 528. 奶酪(每日一题)

目录 题目&#xff1a; DFS&#xff08;BFS&#xff09;&#xff1a; 并查集&#xff1a; 总结&#xff1a; 原题链接&#xff1a;528. 奶酪 - AcWing题库 题目&#xff1a; 现有一块大奶酪&#xff0c;它的高度为 h&#xff0c;它的长度和宽度我们可以认为是无限大的&am…

手撕算法-跳跃游戏

描述 分析 如果某一个作为 起跳点 的格子可以跳跃的距离是 3&#xff0c;那么表示后面 3 个格子都可以作为 起跳点可以对每一个能作为 起跳点 的格子都尝试跳一次&#xff0c;把 能跳到最远的距离 不断更新如果可以一直跳到最后&#xff0c;就成功了 代码 class Solution {…

001搭建前端环境—“01红C”的java项目【苍穹外卖】

整个项目是采用前后端分离的方式开发的 1. 前端工程基于nginx 2. 启动nginx&#xff0c;访问测试 双击 nginx.exe 即可启动 nginx 服务&#xff0c;访问端口号为 80 http://localhost:80

阿里云2核4G服务器租用价格30元、165元和199元1年

阿里云2核4G服务器租用优惠价格&#xff0c;轻量2核4G服务器165元一年、u1服务器2核4G5M带宽199元一年、云服务器e实例30元3个月&#xff0c;活动链接 aliyunfuwuqi.com/go/aliyun 活动链接如下图&#xff1a; 阿里云2核4G服务器优惠价格 轻量应用服务器2核2G4M带宽、60GB高效…

公安可视化分析指挥调度平台的构成要素

匠心接单中...8年前端开发和UI设计接单经验&#xff0c;完工项目1000&#xff0c;持续为友友们分享有价值、有见地的干货观点&#xff0c;有业务需求的老铁&#xff0c;欢迎关注发私信。 公安可视化分析指挥调度平台是一个集成了多种技术和功能的综合性平台&#xff0c;主要由…

Vue中使用Vuex(超详细)基本使用方法

在vue中使用vuex&#xff0c;不同的vue版本要对应使用不同的vuex&#xff0c;在这里不做详情介绍&#xff0c;想具体了解的&#xff0c;请自行度娘或者必应一下。 在使用vuex之前&#xff0c;我们创建一个新的项目&#xff0c;这里我们使用的是vue的脚手架创建一个vue项目。 …

c语言中动态内存管理

说到内存&#xff0c;大家一定都知道。但是有一种函数可以实现动态内存管理&#xff0c;下面大家一起学习。 文章目录 一、为什么要有动态内存管理&#xff1f;二、malloc 和 free1.malloc2.free 三、calloc 和 realloc1.calloc2.realloc3.常见的动态内存的错误3.1对NULL指针的…