一般情況下,我們會專門下載第三方交叉編譯工具鏈進行Xilinx器件的Linux開發(工具鏈獲取:git clone https://github.com/xupsh/Codesourcery.git)。但是,Xilinx在其SDK下集成了交叉編譯工具鏈,如果安裝了Vivado套件還要去第三方下載的話,就顯得有些多餘。假如當前爲Vivado2019.1版本,則位於目錄/SDK/2019.1/gnu下,我們只需要以下兩步進行調用。
(1)Source工具鏈
在使用前,source SDK/2019.1目錄下的settings64.sh文件;
(2)添加工具鏈到路徑
按照Xilinx Wiki上的說明,命令如下:
a)Zynq:
export CROSS_COMPILE=arm-linux-gnueabihf-
export ARCH=arm
b)ZynqUS+:
export CROSS_COMPILE=aarch64-linux-gnu-
export ARCH=aarch64
c)Microblaze:
export CROSS_COMPILE=microblazeel-xilinx-linux-gnu-
export ARCH=microblazeel
通常的,如果報類似於某個目標工具找不到的錯誤,示例如下:
/bin/sh: 1: cc: not found
scripts/Makefile.host:97: recipe for target 'scripts/basic/fixdep' failed
make[1]: *** [scripts/basic/fixdep] Error 127
Makefile:415: recipe for target 'scripts_basic' failed
make: *** [scripts_basic] Error 2
大多是依賴庫缺失導致,安裝以下依賴:
sudo apt-get install libncurses5-dev libssl-dev
sudo apt-get install build-essential openssl
sudo apt-get install zlibc minizip
sudo apt-get install libidn11-dev libidn11
sudo apt-get install bison
sudo apt-get install flex
一般可以解決。
(3)編譯zc702的uboot示例
make distclean
make zynq_zc702_defconfig
make
在編譯內核時,如果提示找不到mkimage命令,則安裝以下依賴:
sudo apt-get install u-boot-tools