Vitis IDE自定义IP Makefile错误(arm-xilinx-eabi-gcc.exe: error: *.c: Invalid argument)解决方法

内容已转移到个人主页
https://lgyserver.top/index.php/2022/03/26/vitis-ide%e8%87%aa%e5%ae%9a%e4%b9%89ip-makefile%e9%94%99%e8%af%af%ef%bc%88arm-xilinx-eabi-gcc-exe-error-c-invalid-argument%ef%bc%89%e8%a7%a3%e5%86%b3%e6%96%b9%e6%b3%95/
烦请跳转查看,谢谢!

天下苦Vitis久矣,在做开发的时候有时候会遇见自定义IP以后生成驱动的Makefile有问题,导致hello world都编译不通过的情况,Xilinx的官方论坛只给出了部分makefile解决方法,写的也不是很清楚,特此记录。

要解决的错误类似于:

"Compiling my_ip..."
arm-xilinx-eabi-gcc.exe: error: *.c: Invalid argument
arm-xilinx-eabi-gcc.exe: fatal error: no input files
compilation terminated.

首先找到这个路径

${hardwareplatform的名字}/zynq_fsbl/zynq_fsbl_bsp/${ps7_cortexa9_0(核心名字)}/libsrc/${(ip名字)}/src/Makefile

找到Makefile替换为

COMPILER=
ARCHIVER=
CP=cp
COMPILER_FLAGS=
EXTRA_COMPILER_FLAGS=
LIB=libxil.a
RELEASEDIR=../../../lib
INCLUDEDIR=../../../include
INCLUDES=-I./. -I${INCLUDEDIR}
INCLUDEFILES=$(wildcard *.h)
LIBSOURCES=$(wildcard *.c *.cpp)
OUTS =*.o
OBJECTS = $(addsuffix .o, $(basename $(wildcard *.c *.cpp)))
ASSEMBLY_OBJECTS = $(addsuffix .o, $(basename $(wildcard *.S)))
libs:
	echo "Compiling myip"
	$(COMPILER) $(COMPILER_FLAGS) $(EXTRA_COMPILER_FLAGS) $(INCLUDES) $(LIBSOURCES)
	$(ARCHIVER) -r ${RELEASEDIR}/${LIB} ${OBJECTS} ${ASSEMBLY_OBJECTS}
	make clean
include:
	${CP} $(INCLUDEFILES) $(INCLUDEDIR)
clean:
	rm -rf ${OBJECTS} ${ASSEMBLY_OBJECTS}

猜你喜欢

转载自blog.csdn.net/weixin_43192572/article/details/123752881