基本都是摘抄正点原子的文章:<领航者 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 已在该目录,可直接访问,如下图所示:
在安装 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?
如下图所示:
将下载后的脚本拷贝到 Ubuntu 虚拟机中(本地共享文件处),打开 Ubuntu Terminal 终端,先切换到本地共享文件夹处,然后执行输入如下命令以执行此脚本:
cd /mnt/hgfs/share
sudo ./plnx-env-setup.sh
先切换到本地共享文件夹处,然后再执行上述命令,如下图所示:
这里需要等待10分钟左右,如果系统中已经有部分库/软件,会弹出配置文件是否需要修改,输入y,如下图:
为什么是Y?
- 避免这个配置文件有新的默认更新部分,因此这里输入y,更新配置文件。
- 如果其他库或软件需要这个配置文件并且配置被更改,则删掉其他库或软件再重新安装即可(毕竟工作量是不一样的)。
接下来等待2分钟左右软件以及库安装完成,如下图所示:
1.3 修改bash
Petalinux 工具需要主机系统的/bin/sh 是 bash,而 Ubuntu 默认的/bin/sh 是 dash,所以这里需要进行更改。运行如下命令进行更改:
sudo dpkg-reconfigure dash
执行结果如下图所示:
选择“否”按下回车即可。
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”,
然后通过 mkdir 创建安装目录。
现在将 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”字样的时候,如下图所示:
提示按下回车键显示软件许可协议,按下键盘上的回车键 Enter,显示协议内容如下:
直接按下键盘上的 Q 键退出,回到之前的界面之后会出现一个选择项,询问我们是否接受 xilinx 最终用户协议。
这个显然是没得选,必须接受,否则无法进行下面的安装;输入 y 按回车接受。除了 xilinx 最终用户协议之外,还有两个协议也需要大家接受,会依次显示在终端上,同理也是输入 Y 按下回车接受(同理也是显示协议时,键入q退出)。
接受所有协议之后 Petalinux 安装工具便会继续安装,直到安装完成。安装完成之后,我们进入到安装目录下,目录内容如下图所示:
1.5 设置 Petalinux 环境变量
在正式使用 petalinux 工具之前,需要先运行 petalinux 安装目录下的 settings.sh 脚本文件设置 petalinux 工作环境,settings.sh 脚本用于 bash,还有一个 settings.csh 用于 C shell,如下图所示:
一般默认情况下,使用 bash 登录 shell,所以 source 脚本文件 settings.sh 对 petalinux 所需的运行环境进行配置,命令如下:
cd /opt/pkg/petalinux/2020.2/
source settings.sh
需要注意的是该命令只对当前终端有效,重新打开终端后需要重新执行这一步。执行结果如下图所示:
验证下工作环境是否已设置,在终端输入如下命令:
echo $PETALINUX
结果如下图所示:
显示 Petalinux 的安装目录,表明工作环境已设置。现在可以使用 Petalinux 工具了。
鉴于每次打开终端使用 Petalinux 都需要设置相应的环境变量,我们为了方便,将设置 Petalinux 环境变量的命令设置成别名,这样我们使用起来就方便些。设置别名方法的很简单,在终端输入如下命令:
echo "alias sptl='source $PETALINUX/settings.sh'" >> ~/.bashrc
以后打开终端后,输入 sptl 就可以设置 Petalinux 的环境变量了,无需输入长长的路径。sptl 的记忆法是 Source PeTaLinux 的环境变量。
提醒:在使用 linux 的时候要善用别名但不要滥用别名。
应该是不要用关键字!
二、安装 Vitis 软件与JTAG驱动
注意:Vitis安装包含Vivado软件
2.1 Vitis安装包
Vitis 是用来开发 Linux 应用的软件,使用这个软件开发 Linux 应用,既方便了工程管理, 也免去了自己写 Makefile 的必要。
Linux系统下的Vitis与Windows 系统下的Vitis 软件的使用方法基本是一样的。
百度云资源:
Linux版本百度云资源提取码:vy0b
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 的压缩包文件都已在该目录:
在windows环境下,选中“Xilinx_Unified_2020.2_1118_1232.zip”并右键解压缩,如下图:
安装说明内容如下:
注意Vivado(LINUX)下的Vivado安装包的压缩文件比较大,所以我们进行了分包压缩,这里分成了五个压缩包。
安装时需要将该文件夹下的五个压缩包全部下载下来,五个压缩包下载完成后,只需要解压其中的“Xilinx_Unified_2020.2_1118_1232.zip”文件,则可解压全部文件。
解压后的文件夹:
2.2.2 安装Vitis
解压完成后,进入该文件夹下,输入
sudo ./xsetup
弹出如下图所示的安装界面:
点击上图中“Next”,在接下来的安装产品选择界面中,选择默认的“Vitis”,
注意 Vitis 软件包含了 Vivado 软件,然后点击“Next”按钮,如下图所示:
进入 Vitis Software Platform 设置界面,包含的器件库选项中只保留 Zynq-7000 一项,其 它器件都取消勾选,如下图所示:
点击“Next”进入许可协议界面,全部勾选同意,如下图所示:
点击“Next”,进入安装路径选择界面,这里设置为“/opt/pkg/tools/Xilinx”,如下图所示:
点击“Next”,在弹出的路径确认窗口中点击“yes”,如下图所示:
接下来进入“Installation Summary”界面,点击“Install”开始下载并安装,如下图所示:
安装需要的时间比较长,我们只需要等待其安装完成就行。
关闭Xilinx Information Center:
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
保存之后,退出编辑界面,回到终端修改该文件的权限,输入:
sudo chmod 777 Vitis.desktop
最后进入到/usr/share/applications目录中即可看到visits软件快捷方式,双击即可打开Vitis软件:
双击Vitis.desktop即可打开Vitis软件,如下图:
创建 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 安装目录,如下图所示:
可以看到有一个名为“tools”的目录,jtag 驱动程序在该目录下,输入以下命令进入到 jtag 驱动程序所在位置:
cd tools/xsct/data/xicom/cable_drivers/lin64/install_script/install_drivers
可以看到该目录下有一个名为“install_drivers”的文件,如下图所示:
输入如下命令,以 root 权限执行该文件,安装 jtag 驱动程序:
sudo ./install_drivers
执行结果如下图所示:
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 文档