本文转载自:coldnew's blog
在使用 Xilinx 的开发环境 Vivado 2016.1 有遇到一些问题,特别纪录之。
安装 Vivado 在其他的 Linux 平台
Vivado 安装程序在非官方支持的 Linux 平台上可能会导致安装出问题,以我的 Gentoo Linux 为例,我必须把解压出的 xsetup 安装脚本里面的这部分修改掉,不然会在 64bit 并具有 32bit 函式库的 Gentoo Linux 下安装失败。
# ERROR out if this installation is running on 32 bit OS
# and does not support 32 bit installation
if [ "$(uname -i)" != "x86_64" ]; then
# check that the 32 bit library directory exist or not
lnx32LibDir="${workingDir}/lib/lnx32.o"
if [ ! -d $lnx32LibDir ]; then
# terminate with an ERROR
echo "ERROR: This installation is not supported on 32 bit platforms."
exit 1 # <----- NOTE: Just remove this line if your linux is 64-bit system
fi
fi
让 Linux 辨识 USB UART
如果你接上 USB 到 Zybo Board 的 USB UART 接脚,却没在你的 Linux 上面看到任何 /dev/ttyUSB* 被建立的话,那就是你少装了一些 UDEV rule,这边的说明可以在 Vivado Design Suite User Guide 找到,简单的说….
假设你的 vivado 安装在 /opt/Xilinx/Vivado/2016.1 的话,我们可以透过以下程序来安装 udev 设定。
/opt/Xilinx/Vivado/2016.1/data/xicom/cable_drivers/lin64/install_script/install_drivers/install_digilent.sh
HiDPI 环境下的 Vivado 问题
我是在 Macbook Pro 2015 上直接安装 Gentoo Linux 来执行 Vivado, 因此会遇到显示出来的 Vivado 程序因为 DPI 设定的问题,导致画面太小,像这样
这问题的元凶是 Oracle JDK 使用 Java Swing 时,在 Linux 上并未支持 HiDPI 分辨率,导致出现的画面太小,这问题 据说会修正在 JDK 9 上,目前我们只能用一些临时解 (workround)来处理这状况,或是将 Vivado 窗口移动到分辨率没那样好的外接屏幕上也可以。
针对 HiDPI 下,我采用的另外一种解决方案是使用 vncdesk 来协助我们透过 VNC 协议对特定的程序进行窗口的缩放功能,该程序会在背景启动一个 VNC 服务器,然后在根据我们的设定启动我们需要的程序,接着呼叫 VNC Client 并进行画面缩放来达到我们的要求。
在 Gentoo Linux 上,你可以透过我写好的 ebuild 来安装 vncdesk
coldnew@gentoo ~ $ sudo emerge app-misc/vncdesk
另外要注意到的是,vncdesk 只支持 Python 3.x,因此你也需要将系统的 python 版本切换到 3.x 系列,这边我将它切换到 Python 3.4 去。
coldnew@gentoo ~ $ sudo eselect python list
Available Python interpreters, in order of preference:
[1] python2.7
[2] python3.4
[3] python3.5 (fallback)
coldnew@gentoo ~ $ sudo eselect python set 2
完成后,接下来我们要建立一些配置文件案,我们首先先建立 ~/.vncdesk 文件夹
coldnew@gentoo ~ $ mkdir -p ~/.vncdesk
假设我们要使用 DISPLAY=:21 来作为 Vivado 显示用的位置的话,我们要建立 ~/.vncdesk/21 这样的文件夹
coldnew@gentoo ~ $ mkdir -p ~/.vncdesk/21
而在 ~/.vncdesk/21 则要再建立以下两个档案
coldnew@gentoo ~/vncdesk/21 $ tree .
.
├── settings.ini
└── startup
0 directories, 2 files
我们先来看 settings.ini 这个档案,这是 vncdesk 最主要的设定,里面包含了你要建立的窗口名称、大小以及缩放度
[desktop]
width = 1280
height = 800
[window]
title = Xilinx Vivado
name = vivado in vncdesk
class = FigInVncdesk
scale_factor = 1.8
接下来则是我们执行程序用的脚本 startup ,记得这个档案需要加上执行权限,在这份档案中,我们先设定几个环境变量,接着由于可能会有多窗口的需求,因此启用 openbox 1 作为窗口管理程序,最后则是启动 vivado 这只程序。
注意到 export SWT_GTK3=0 这个设定,待会会解释它到底会有啥影响,总之先照着设定就是了。
#!/bin/sh
export LC_ALL=C
export SWT_GTK3=0 # Fix annoying error on Xilinx SDK
# Make java application look more nice
_SILENT_JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=on -Dsun.java2d.xrender=true -Dswing.aatext=true"
unset _JAVA_OPTIONS
alias java='java $_SILENT_JAVA_OPTIONS'
# start window manager
openbox &
# Source vivado env before launch
export TARGET_DIR=/opt/Xilinx/Vivado/2016.1
source $TARGET_DIR/settings64.sh
# Launch Vivado
cd /tmp
exec $TARGET_DIR/bin/vivado
这两个设定都建立好以后,我们就可以用以下命令去执行画面有缩放过的 Vivado 程序
coldnew@gentoo ~ $ vncdesk 21
评论
查看更多