vitis报错:platformout-of-date,编译时makefileerror;。。。

vitis报错:platformout-of-date,编译时makefileerror;。。。

2023年6月26日发(作者:)

vitis报错:platformout-of-date,编译时makefileerror;。。。参考资料:⼯作环境:2020.2vitis主要内容:1、platform出现out-of-date问题2、platform中加⼊了⾃定义的ip核,出现makefile error的问题,使⽤版本⼀makefile解决问题3、⽤版本⼀的makefile解决platform编译问题后,出现application中undefined reference错误,使⽤版本⼆的makefile(因此若需要改makefile,请根据不同vitis版本进⾏修改,我的为vitis2020.2使⽤版本⼆)问题1、platform出现out-of-date问题在我们VIVADO导出硬件平台XSA之后,我们将其添加⼊vitis的platform project中,这事我们需要查看platform的版本是否out-of-date,若过期则需要进⾏更新。若出现out-of-date,直接的办法就是对platform,进⾏clean project和进⾏编译build project。⼀般来说只要编译通过,out-of-data标志就会消失,就可以添加如application project进⾏编写。问题2、platform编译不通过,出现makefile error问题对platform⼯程进⾏了多次的clean和build的操作,均提⽰以下问题:makefile error。⼀切的问题都指向了Makefile⽂件。(下⾯部分为我⾃⼰的解决的艰⾟历程,失败告终。最终的解决⽅案在最后,请⾃⾏拖到最后查看) ⽹上查阅的可能的解决⽅案:1、如赛灵思论坛上说,修改make⽂件2、可能是系统的原因,win10会报错。因此在linux上⽤vitis实现3、版本不匹配vivado hls2018应更为vitis hls 2020尝试(打算采⽤对照法找出问题):1、师兄提供的vivado直接导出硬件,driver内有对应驱动(见桌⾯,fuxian),成功2、使⽤最简单的2018⽣成的hls_color ip,导出硬件。driver内有对应驱动,(桌⾯,my)报错3、(my_treshold_vivado⽂件夹)使⽤2018⽣成的hls_color,hls_threshold,导出硬件,driver内有对应驱动(桌⾯,my)报错。因此不是ip核编写难度问题。4、使⽤⾃⼰写的重⼼法ip核,在vivado部分就报⿊盒⼦,报错。还在排查相关原因。5、updata⽂件夹:updata尝试下,使⽤师兄的vitis⼯程中,直接更新xsa⽂件会产⽣的效果。失败。6、找了⼀个简单的vitis⼯程,接⼝两个Stream,中间简单的加减赋值。分别⽤2020.2vitis hls和2018.3vivado hls导出ip核(my_2018duizaho_vivado:装了2018vivado example核的vivado⼯程;my_2020vitis_vivado:2020vitis核的vivado⼯程,⾥⾯有+cvt核的xsa vitis_example核的xsa)将这两个⼯程的hardware platform导出到vitis中,全部通过。。该部分为了探究使⽤不同版本的hls实现,是否是产⽣问题的原因。(⽬前使⽤对照vivado⼯程进⾏验证,第⼀次采⽤的程序太简单,没能在vitis内产⽣driver,两者都通过)设置的对照组图⽚对照实验的结果与总结:最后以失败告终,主要还是建议vitis hls在装完了vision库之后,调⽤⾥⾯的函数产⽣driver进⾏对照能看出效果,由于时间原因,关于vitis hls vision之后在进⾏尝试。最终的解决办法:特别感谢本贴作者,将详细内容均展⽰出来,感谢原因:在VIVADO 2020.2中放⼊了2018.3vivado hls的⾃定义ip核。在2020中,makefile的内容出现了变化,导致这个ip的Makefile⽂件在编译时,出现了报错。需要对IP的⽂件中的Makefile⽂件进⾏⼿动的修改。解决⽅法:赛灵思论坛上varas的⽅法解决了这个问题,⼤⼒感谢。要确保在平台的三个⽬录中替换更正的 makefile:1. Platform/hw/drivers//src/Makefile2. Platform/ps7_cortex_a9_0/standalone_domain/bsp/ps7_cortex_a9_0/libsrc//src/Makefile3. Platform/zynq_fsbl/zynq_fsbl_bsp/ps7_cortex_a9_0/libsrc//src/Makefile另外,根据不同的vitis版本,有两种不同的makefile⽂件。版本⼀:我只更改了其中的两⾏:.o的内容出现更改变为下⾯两⾏。其他位置如clean部分没有进⾏改动。OBJECTS = $(addsuffix .o, $(basename $(wildcard *.c)))ASSEMBLY_OBJECTS = $(addsuffix .o, $(basename $(wildcard *.S)))在这三个主要更改之后,您的项⽬将正确构建并且您的⾃定义 IP 将正常⼯作!下⾯是所需要的Makefile⽂件,⼤家可以对照着原代码进⾏修改。COMPILER=ARCHIVER=CP=cpCOMPILER_FLAGS=EXTRA_COMPILER_FLAGS=LIB=SEDIR=../../../libINCLUDEDIR=../../../includeINCLUDES=-I./. -I${INCLUDEDIR}INCLUDEFILES=*.hLIBSOURCES=*.cOBJECTS = $(addsuffix .o, $(basename $(wildcard *.c)))ASSEMBLY_OBJECTS = $(addsuffix .o, $(basename $(wildcard *.S)))libs: echo "..." $(COMPILER) $(COMPILER_FLAGS) $(EXTRA_COMPILER_FLAGS) $(INCLUDES) $(LIBSOURCES) $(ARCHIVER) -r ${RELEASEDIR}/${LIB} ${OBJECTS} ${ASSEMBLY_OBJECTS} make cleaninclude: ${CP} $(INCLUDEFILES) $(INCLUDEDIR)clean: rm -rf ${OBJECTS} ${ASSEMBLY_OBJECTS}这个版本的问题:在后⾯的application编译时,若不使⽤新ip核的函数不会出现问题。但是⼀旦使⽤新的ip核函数,会报错:编译⼩的,报错信息为下⾯的图1,2编译⼤的,报错为:报错原因如下:原因⼤意是:如果提⽰缺少的函数已在 BSP ⽂件中编译,就可以在 .o ⽂件中看到它们。如果已经正确编译是这样,那么链接器中出现缺失函数错误的唯⼀原因是:没有链接正确的 libxil.a ⽂件。最核⼼的问题就是makefile⽂件编写不正确。因此我的2020.2vitis得使⽤版本⼆的makefile(从别的函数的makefile复制⽽来)还是更改上⾯提到的三个部分DRIVER_LIB_VERSION = 1.0COMPILER=ARCHIVER=CP=cpCOMPILER_FLAGS=EXTRA_COMPILER_FLAGS=LIB=_FLAGS = $(COMPILER_FLAGS)ECC_FLAGS = $(EXTRA_COMPILER_FLAGS)RELEASEDIR=../../../lib/INCLUDEDIR=../../../include/INCLUDES=-I./. -I$(INCLUDEDIR)SRCFILES:=$(wildcard *.c)OBJECTS = $(addprefix $(RELEASEDIR), $(addsuffix .o, $(basename $(wildcard *.c))))libs: $(OBJECTS)DEPFILES := $(SRCFILES:%.c=$(RELEASEDIR)%.d)include $(wildcard $(DEPFILES))include $(wildcard ../../../../)$(RELEASEDIR)%.o: %.c ${COMPILER} $(CC_FLAGS) $(ECC_FLAGS) $(INCLUDES) $(DEPENDENCY_FLAGS) $< -o $@.PHONY: includeinclude: $(addprefix $(INCLUDEDIR),$(wildcard *.h))$(INCLUDEDIR)%.h: %.h $(CP) $< $@clean: rm -rf ${OBJECTS} rm -rf $(DEPFILES)使⽤该版本进⾏编译,platform和application都不报错no such file另外若出现更改platform后,重新编译application project发现找不到部分头⽂件。是因为project链接着原来的platform,需要删除project,新建后,将src复制⼊。就可以解决。

发布者:admin,转转请注明出处:http://www.yc00.com/news/1687749636a38934.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信