聊一聊Linux下如何调用Vivado SDK的gnu交叉编译工具链

作者:Hello,Panda,来源: ZYNQ分享客微信公众号(ZYNQfenxiangke)

前几天聊天聊到在Linux系统下调用SDK的gnu交叉编译工具链的问题,Panda同学是这么做的,简单写几句分享一下。按照正常套路,我们会专门下载第三方交叉编译工具链进行Xilinx器件的Linux开发(工具链获取:git clone https://github.com/xupsh/Codesourcery.git )。但是,Xilinx在其SDK下集成了交叉编译工具链,如果安装了Vivado套件还要去第三方下载的话,就显得有些多余。假如当前为Vivado2019.1版本,则位于目录/SDK/2019.1/gnu下,我们只需要以下两步进行调用。

(1)Source工具链

在使用前,source SDK目录下的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

推荐阅读