系统要求
Vitis和Petalinux工具需要在Ubuntu环境下运行,可以使用虚拟机或者主机运行Ubuntu系统。Vivado可以在Ubuntu或者Windows环境下运行。
这里我们在Windows上安装虚拟机运行Ubuntu系统,Vitis和Petalinux安装在虚拟机中的Ubuntu系统,Vivado安装在Windows系统。
- VMware 12.1.1
- Ubuntu 18.04.2
- Vivado, Vitis, Petalinux 2020.1
虚拟机配置
我设置了磁盘空间为200GB,内存设置为16GB,其他硬件配置自选。
VMware的硬件配置中,需要再添加一块桥接模式的网卡用于主机和虚拟机的ssh通信。虚拟机配置界面中应该显示有两块网卡,分别为NAT和桥接模式。
创建用户yutong。
1
| EDITOR=vi sudoedit /etc/profile
|
粘贴一下内容,此处我们设置sudoedit的默认编辑器,以及禁用apt upgrade。
1
2
3
4
5
6
7
8
9
10
11
| export EDITOR=vim
alias apt='__apt_wrapper'
__apt_wrapper() {
if [[ "$1" == "upgrade" || "$1" == "full-upgrade" || "$1" == "dist-upgrade" ]]; then
echo "Don't exec `apt upgrade`!"
return 1
fi
command apt "$@"
}
|
这里我们将镜像更改为中科大源:
1
2
| sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
EDITOR=vi sudoedit /etc/apt/sources.list
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| # 默认注释了源码仓库,如有需要可自行取消注释
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
|
安装编辑器和网络工具,用于ssh连接:
1
| sudo apt install vim openssh-server net-tools
|
这里我们设置Ubuntu的缩放率为200%:
1
| EDITOR=vim sudoedit /usr/share/glib-2.0/schemas/90_hidpi.gschema.override
|
1
2
| [org.gnome.desktop.interface]
scaling-factor=2
|
1
2
| sudo glib-compile-schemas /usr/share/glib-2.0/schemas
sudo reboot
|
我们查看桥接模式网卡的ip地址:
我的虚拟机显示192.168.229.128:
1
| ssh yutong@192.168.229.128
|
可以将以下内容添加到C:\Users\yutong\.ssh\config,方便ssh连接:
1
2
3
| Host vmware
HostName 192.168.229.128
User yutong
|
之后每次主机连接虚拟机,只需要输入:
安装Vivado和Vitis
这里参考了文章:《Linux安装Vivado和Vitis》。
需要提前在Windows主机上下载Xilinx_Unified_2020.1_0602_1208.tar.gz,然后使用scp命令将文件从主机拷贝到虚拟机:
1
2
| # On Windows
scp C:\Users\yutong\Downloads\Xilinx_Unified_2020.1_0602_1208.tar.gz vmware:/home/yutong/Downloads
|
1
2
3
| # On Ubuntu
cd ~/Downloads
tar -xvzf Xilinx_Unified_2020.1_0602_1208.tar.gz
|
这一步的删除是必需的,虚拟机的磁盘空间有限,可能会安装失败:
1
2
| rm Xilinx_Unified_2020.1_0602_1208.tar.gz
cd Xilinx_Unified_2020.1_0602_1208
|
接下来这一步建议在虚拟机中运行,Windows Terminal远程连接输入邮箱和密码容易产生格式错误。
1
| ./xsetup -b AuthTokenGen
|
生成安装配置文件:
1
2
| # Choose 1.Vitis
./xsetup -b ConfigGen
|
接下来就可以安装了:
1
| sudo ./xsetup --batch Install --agree XilinxEULA,3rdPartyEULA,WebTalkTerms --location /opt/Xilinx/ --config "/home/yutong/.Xilinx/install_config.txt"
|
我们发现无法在搜索中找到Vivado和Vitis软件,这是因为batch模式下的安装没有创建.desktop文件,接下来我们自己创建:
1
| sudoedit /usr/local/bin/run-vivado
|
粘贴以下内容:
1
2
3
4
| #!/bin/bash
source /opt/Xilinx/Vivado/2020.1/settings64.sh
vivado &
|
1
| vim ~/.local/share/applications/Vivado\ 2020.1.desktop
|
粘贴以下内容:
1
2
3
4
5
6
7
8
9
| [Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon=/opt/Xilinx/Vivado/2020.1/doc/images/vivado_logo.ico
Name[en_US]=Vivado 2020.1
Exec=/usr/local/bin/run-vivado
Name=Vivado 2020.1
StartupNotify=true
|
1
| sudoedit /usr/local/bin/run-vitis
|
粘贴以下内容:
1
2
3
4
| #!/bin/bash
source /opt/Xilinx/Vitis/2020.1/settings64.sh
vitis &
|
1
| vim ~/.local/share/applications/Vitis \ 2020.1.desktop
|
粘贴以下内容:
1
2
3
4
5
6
7
8
9
| [Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon=/opt/Xilinx/Vitis/2020.1/doc/images/ide_logo.ico
Name[en_US]=Vitis 2020.1
Exec=/usr/local/bin/run-vitis
Name=Vitis 2020.1
StartupNotify=true
|
每次启动bash,都能自动设置Vivado和Vitis的环境:
1
2
3
| echo "source /opt/Xilinx/Vivado/2020.1/settings64.sh" >> ~/.bashrc
echo "source /opt/Xilinx/Vitis/2020.1/settings64.sh" >> ~/.bashrc
source ~/.bashrc
|
根据AMD的文章,建议所有用户都安装这个补丁,否则无法正常使用Vitis。
在这篇文章的底部找到y2k22_patch-1.2.zip并下载
1
2
| # On Windows
scp C:\Users\yutong\Downloads\y2k22_patch-1.2.zip vmware:/home/yutong/Downloads
|
1
2
3
| # On Ubuntu
sudo unzip ~/Downloads/y2k22_patch-1.2.zip -d /opt/Xilinx/
cd /opt/Xilinx/
|
我们先设置以下root的密码,然后切换到root身份运行补丁命令:
1
2
3
4
5
| sudo passwd
su -- root
export LD_LIBRARY_PATH=$PWD/Vivado/2020.1/tps/lnx64/python-2.7.16/lib/
Vivado/2020.1/tps/lnx64/python-2.7.16/bin/python2.7 y2k22_patch/patch.py
exit
|
安装Petalinux
这里参考了文章:《Install Petalinux in docker (or local machine)》
我们需要下载petalinux-v2020.1-final-installer.run,然后拷贝到虚拟机中:
1
2
| # On Windows
scp C:\Users\yutong\Downloads\petalinux-v2020.1-final-installer.run vmware:/home/yutong/Downloads
|
设置/bin/sh为bash,注意选择no:
1
2
| sudo dpkg-reconfigure dash
# choose no
|
这些是Petalinux-2020.1的依赖项:
1
2
| sudo dpkg --add-architecture i386
sudo apt update
|
1
| sudo apt install iproute2 gcc g++ net-tools libncurses5-dev zlib1g:i386 libssl-dev flex bison libselinux1 xterm autoconf libtool texinfo zlib1g-dev gcc-multilib build-essential screen pax gawk python3 python3-pexpect python3-pip python3-git python3-jinja2 xz-utils debianutils iputils-ping libegl1-mesa libsdl1.2-dev pylint3 cpio
|
安装Petalinux到/opt/Xilinx:
1
2
3
| sudo mkdir -p /opt/Xilinx/Petalinux/2020.1
sudo chown -R yutong:yutong /opt/Xilinx/Petalinux/2020.1/
sudo chmod 775 /opt/Xilinx/Petalinux/2020.1
|
1
2
| chmod +x ~/Downloads/petalinux-v2020.1-final-installer.run
~/Downloads/petalinux-v2020.1-final-installer.run -d /opt/Xilinx/Petalinux/2020.1/
|
1
| echo 'source /opt/Xilinx/Petalinux/2020.1/settings.sh' >> ~/.bashrc
|
安装串口工具PuTTY
首先安装USB UART驱动。然后安装PuTTY。
打开Windows中的设备管理器,点击端口(COM和LPT),查看UART的COM端口。
PuTTY输入UART的端口,波特率设置为115200。
参考文献