本文轉載自: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
評論
查看更多