本文轉(zhuǎn)載自:coldnew's blog
在使用 Xilinx 的開發(fā)環(huán)境 Vivado 2016.1 有遇到一些問題,特別紀(jì)錄之。
安裝 Vivado 在其他的 Linux 平臺(tái)
Vivado 安裝程序在非官方支持的 Linux 平臺(tái)上可能會(huì)導(dǎo)致安裝出問題,以我的 Gentoo Linux 為例,我必須把解壓出的 xsetup 安裝腳本里面的這部分修改掉,不然會(huì)在 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 辨識(shí) USB UART
如果你接上 USB 到 Zybo Board 的 USB UART 接腳,卻沒在你的 Linux 上面看到任何 /dev/ttyUSB* 被建立的話,那就是你少裝了一些 UDEV rule,這邊的說明可以在 Vivado Design Suite User Guide 找到,簡單的說….
假設(shè)你的 vivado 安裝在 /opt/Xilinx/Vivado/2016.1 的話,我們可以透過以下程序來安裝 udev 設(shè)定。
/opt/Xilinx/Vivado/2016.1/data/xicom/cable_drivers/lin64/install_script/install_drivers/install_digilent.sh
HiDPI 環(huán)境下的 Vivado 問題
我是在 Macbook Pro 2015 上直接安裝 Gentoo Linux 來執(zhí)行 Vivado, 因此會(huì)遇到顯示出來的 Vivado 程序因?yàn)?DPI 設(shè)定的問題,導(dǎo)致畫面太小,像這樣
這問題的元兇是 Oracle JDK 使用 Java Swing 時(shí),在 Linux 上并未支持 HiDPI 分辨率,導(dǎo)致出現(xiàn)的畫面太小,這問題 據(jù)說會(huì)修正在 JDK 9 上,目前我們只能用一些臨時(shí)解 (workround)來處理這狀況,或是將 Vivado 窗口移動(dòng)到分辨率沒那樣好的外接屏幕上也可以。
針對 HiDPI 下,我采用的另外一種解決方案是使用 vncdesk 來協(xié)助我們透過 VNC 協(xié)議對特定的程序進(jìn)行窗口的縮放功能,該程序會(huì)在背景啟動(dòng)一個(gè) VNC 服務(wù)器,然后在根據(jù)我們的設(shè)定啟動(dòng)我們需要的程序,接著呼叫 VNC Client 并進(jìn)行畫面縮放來達(dá)到我們的要求。
在 Gentoo Linux 上,你可以透過我寫好的 ebuild 來安裝 vncdesk
coldnew@gentoo ~ $ sudo emerge app-misc/vncdesk
另外要注意到的是,vncdesk 只支持 Python 3.x,因此你也需要將系統(tǒng)的 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
假設(shè)我們要使用 DISPLAY=:21 來作為 Vivado 顯示用的位置的話,我們要建立 ~/.vncdesk/21 這樣的文件夾
coldnew@gentoo ~ $ mkdir -p ~/.vncdesk/21
而在 ~/.vncdesk/21 則要再建立以下兩個(gè)檔案
coldnew@gentoo ~/vncdesk/21 $ tree .
.
├── settings.ini
└── startup
0 directories, 2 files
我們先來看 settings.ini 這個(gè)檔案,這是 vncdesk 最主要的設(shè)定,里面包含了你要建立的窗口名稱、大小以及縮放度
[desktop]
width = 1280
height = 800
[window]
title = Xilinx Vivado
name = vivado in vncdesk
class = FigInVncdesk
scale_factor = 1.8
接下來則是我們執(zhí)行程序用的腳本 startup ,記得這個(gè)檔案需要加上執(zhí)行權(quán)限,在這份檔案中,我們先設(shè)定幾個(gè)環(huán)境變量,接著由于可能會(huì)有多窗口的需求,因此啟用 openbox 1 作為窗口管理程序,最后則是啟動(dòng) vivado 這只程序。
注意到 export SWT_GTK3=0 這個(gè)設(shè)定,待會(huì)會(huì)解釋它到底會(huì)有啥影響,總之先照著設(shè)定就是了。
#!/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
這兩個(gè)設(shè)定都建立好以后,我們就可以用以下命令去執(zhí)行畫面有縮放過的 Vivado 程序
coldnew@gentoo ~ $ vncdesk 21
評論
查看更多