目录
1 购买阿里云ECS
进入阿里云ECS官网(https://www.aliyun.com/?utm_content=se_1007692031),进入云服务器ECS专区,试用或购买ECS。新用户记得进入新用户专区,购买会有优惠。下图所示,我首次购买的是2核2G的突发性能型t6,并且首次指定的操作系统为Ubuntu16.04,带宽为2M。
由于Ubuntu更新频率较快,16.04版本可能已经更新到16.04.7了,而Vitis 2020.2支持的还是16.04.6版本。
我首次选择的16.04操作系统,实际上就是16.04.7的版本,这就不能很好的兼容Vitis 2020.2。
因此后来我选择了CentOS操作系统,并选择7.6的版本。
需要提及的是,后来我还将内存2G提高至4G,因为2G内存太少无法运行vivado。
2 登录到ECS
查看ECS的IP地址,采用公有IP登录。
利用SSH登录工具(Putty,MobaXterm等)登录到IP地址。
输入密码,登录成功。
3 安装基础库
在安装运行Vitis 2020.2前,需要安装一些基础库,缺少这些基础库,Vitis可能无法打开或者无法安装。
yum -y install java-1.8.0-openjdk*
yum -y install xorg-x11-xauth xorg-x11-server-utils xorg-x11-server-Xnest libXtst
yum install gtk2.i686 gtk2-engines.i686 PackageKit-gtk-module.i686 PackageKit-gtk-module.x86_64 libcanberra-gtk2.x86_64 libcanberra-gtk2.i686
4 安装Vitis 2020.2
4.1 上传安装文件至ECS
利用WinSCP软件,上传Vitis 2020.2安装文件至ECS,同样使用IP地址连接。
上传Vitis 2020.2安装文件至ECS。
4.2 安装
电脑打开xming软件,直接百度xming即可下载安装。
打开SSH登录工具的X11转发功能,如MobaXterm:
进入Vitis 2020.2所在的目录,即Xilinx_Unified_2020.2_1118_1232目录。执行:
chmod 777 ./xsetup
./xsetup
等待一段时间后出现安装界面
按照提示一步一步完成安装。
4.3 打开 Vivado
安装完成后,打开Vivado确认安装正常。
source /tools/Xilinx/Vivado/2020.2/settings64.sh
vivado
4.4 打开Vitis
在打开Vitis之前,需要安装Vitis运行基础库。
参考UG1400第14页,执行如下命令可自动安装
/<install_dir>/Vitis/<release>/scripts/installLibs.sh
或者打开installLibs.sh查看里面获取需要安装的库名称,再一个一个手动安装:
yum install -y graphviz
yum install -y redhat-lsb
yum install -y openssl
yum install -y libXScrnSaver
yum install -y gcc
yum install -y gcc-c++
yum install -y kernel-headers-`uname -r`
yum install -y kernel-devel-`uname -r`
安装基础库后,打开Vitis:
source /tools/Xilinx/Vitis/2020.2/settings64.sh
vitis
这时可能会报错而无法打开Vitis,报错类型如果是无法加载SWT library,那么安装第3章中提到的基础库可解决。
安装第3章中提到的基础库可解决。
yum install gtk2.i686 gtk2-engines.i686 PackageKit-gtk-module.i686 PackageKit-gtk-module.x86_64 libcanberra-gtk2.x86_64 libcanberra-gtk2.i686
然后Vitis就可以打开了。
5 总结
如上所述,我购买了1个阿里云ECS,并在其中安装了Vitis 2020.2工具,确认Vivado及Vitis安装正常后,我们就可以像在个人电脑上一样在ECS中使用这些工具了,并且不会占用到我们个人电脑的资源(内存,带宽等)。但是像Windows一样打开GUI界面点击创建工程等操作就无法体会到Linux的强大了,我推荐使用脚本的方式运行Vivado及Vitis,这将会是后话了,本文只是提出如何利用ECS来搭建FPGA编译环境,如何高效的使用这个环境会在后续提出。