本文轉(zhuǎn)載自:coldnew's blog
在使用 Xilinx 的開發(fā)環(huán)境 Vivado 2016.1 有遇到一些問題,特別紀錄之。
安裝 Vivado 在其他的 Linux 平臺
Vivado 安裝程序在非官方支持的 Linux 平臺上可能會導(dǎo)致安裝出問題,以我的 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 找到,簡單的說….
假設(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, 因此會遇到顯示出來的 Vivado 程序因為 DPI 設(shè)定的問題,導(dǎo)致畫面太小,像這樣
這問題的元兇是 Oracle JDK 使用 Java Swing 時,在 Linux 上并未支持 HiDPI 分辨率,導(dǎo)致出現(xiàn)的畫面太小,這問題 據(jù)說會修正在 JDK 9 上,目前我們只能用一些臨時解 (workround)來處理這狀況,或是將 Vivado 窗口移動到分辨率沒那樣好的外接屏幕上也可以。
針對 HiDPI 下,我采用的另外一種解決方案是使用 vncdesk 來協(xié)助我們透過 VNC 協(xié)議對特定的程序進行窗口的縮放功能,該程序會在背景啟動一個 VNC 服務(wù)器,然后在根據(jù)我們的設(shè)定啟動我們需要的程序,接著呼叫 VNC Client 并進行畫面縮放來達到我們的要求。
在 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 則要再建立以下兩個檔案
coldnew@gentoo ~/vncdesk/21 $ tree .
.
├── settings.ini
└── startup
0 directories, 2 files
我們先來看 settings.ini 這個檔案,這是 vncdesk 最主要的設(shè)定,里面包含了你要建立的窗口名稱、大小以及縮放度
[desktop]
width = 1280
height = 800
[window]
title = Xilinx Vivado
name = vivado in vncdesk
class = FigInVncdesk
scale_factor = 1.8
接下來則是我們執(zhí)行程序用的腳本 startup ,記得這個檔案需要加上執(zhí)行權(quán)限,在這份檔案中,我們先設(shè)定幾個環(huán)境變量,接著由于可能會有多窗口的需求,因此啟用 openbox 1 作為窗口管理程序,最后則是啟動 vivado 這只程序。
注意到 export SWT_GTK3=0 這個設(shè)定,待會會解釋它到底會有啥影響,總之先照著設(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
這兩個設(shè)定都建立好以后,我們就可以用以下命令去執(zhí)行畫面有縮放過的 Vivado 程序
coldnew@gentoo ~ $ vncdesk 21
顯示的畫面會變成這樣,在 HiDPI 的環(huán)境下也就清楚多了
一定要設(shè)定 export SWT_GTK3=0
在上面我們說了要設(shè)定 SWT_GTK3=0 ,如果不設(shè)定的話,很容易出現(xiàn)問題,以我遇到的狀況來講,我在 Xilinx SDK 想要建立 Zynq Boot Image,但是窗口卻不會給我彈出來,如果你設(shè)定了 SWT_GTK3=0 后在啟動 Xilinx SDK,這問題就不見啰 = =|||
評論
查看更多