跳转到主要内容

【干货分享】在命令行里编译Xilinx SDK工程

作者:付汉杰,<a href="mailto:hankf@xilinx.com">hankf@xilinx.com</a&gt;,文章转载自:<a id="link_3" href="https://forums.xilinx.com/t5/嵌入式-工具-软件开发/分享-在命令行里编译Xilinx-SDK工程/td-p/10…;

一个工程师打算在命令行里编译Xilinx SDK工程,以便集成进入其它自动化构建工具。Xilinx SDK工程都支持在命令行编译。在命令行里编译Xilinx SDK工程前,需要执行call C:/Xilinx/SDK/2019.1/settings64.bat,设置编译环境。

在应用程序工程的Debug或者Release目录下,有文件makefile,<a href="http://objects.mk/&quot; target="_blank" rel="noopener nofollow noopener noreferrer">objects.mk</a>,<a href="http://sources.mk/&quot; target="_blank" rel="noopener nofollow noopener noreferrer">sources.mk</a>,执行make命令,就可以编译。

在BSP工程目录下,有文件makefile,执行make命令,也可以编译。在BSP工程目录下,有很多驱动程序。对于不打算使用的驱动程序,可以直接删除,不会影响编译。
下面是删除类似重复信息后的BSP编译记录。例子中,删除了dpdma,canps,axipmon,xilpm等驱动程序。

删除类似重复信息后的BSP编译记录
<pre>
C:\prj\zcu106_fsbl_bsp2>call C:/Xilinx/SDK/2019.1/settings64.bat
C:\prj\zcu106_fsbl_bsp2>make clean
make -C psu_cortexa53_0/libsrc/bram_v4_3/src -s clean
make -C psu_cortexa53_0/libsrc/clockps_v1_1/src -s clean
... ...
make -C psu_cortexa53_0/libsrc/wdtps_v3_1/src -s clean
rm -f psu_cortexa53_0/lib/libxil.a
C:\prj\zcu106_fsbl_bsp2>make
Running Make include in psu_cortexa53_0/libsrc/bram_v4_3/src
make -C psu_cortexa53_0/libsrc/bram_v4_3/src -s include "SHELL=C:/tools/cygwin64/bin/sh.exe" "COMPILER=aarch64-none-elf-gcc" "ARCHIVER=aarch64-none-elf-ar" "COMPILER_FLAGS= -O2 -c" "EXTRA_COMPILER_FLAGS=-g -Wall -Wextra -Os -flto -ffat-lto-objects"
... ...
Running Make libs in psu_cortexa53_0/libsrc/video_common_v4_6/src
make -C psu_cortexa53_0/libsrc/video_common_v4_6/src -s libs "SHELL=C:/tools/cygwin64/bin/sh.exe" "COMPILER=aarch64-none-elf-gcc" "ARCHIVER=aarch64-none-elf-ar" "COMPILER_FLAGS= -O2 -c" "EXTRA_COMPILER_FLAGS=-g -Wall -Wextra -Os -flto -ffat-lto-objects"
Compiling video_common
Running Make libs in psu_cortexa53_0/libsrc/wdtps_v3_1/src
make -C psu_cortexa53_0/libsrc/wdtps_v3_1/src -s libs "SHELL=C:/tools/cygwin64/bin/sh.exe" "COMPILER=aarch64-none-elf-gcc" "ARCHIVER=aarch64-none-elf-ar" "COMPILER_FLAGS= -O2 -c" "EXTRA_COMPILER_FLAGS=-g -Wall -Wextra -Os -flto -ffat-lto-objects"
Compiling wdtps
Finished building libraries

C:\prj\zcu106_fsbl_bsp2>ls psu_cortexa53_0/lib
libxil.a libxilffs.a libxilpm.a libxilsecure.a
</pre>