自定义IP导入Vitis

目前很幸运的是这个问题只有在vivado2021.1版本存在,很不幸的事情就是,我用的就是这个版本QAQ,下面我完整的走一遍自定义的IP导入vitis,并且复现一下我遇到的问题以及解决办法,并且相关其他问题的连接供大家参考。

vivado工程

这个是我用block designer搭建的工程,具体可以参考正点原子相关的例程SDK篇_50~52_基于BRAM的PS和PL数据交互(BRAM Controller)毕竟问题不在这边,所以简单的看一下大致工程。

image-20250126212443677

之后综合生成bit流文件,然后按照下面的步骤生成.xsa文件,这个用于后续导入vitis,然后一路next就好了,但是注意下面两个,一个要包含bit流文件,还有一个保存的路径地址,待会要用。

image-20250126212749244

image-20250126213023029

新建Vitis工程

这里就按照下面的步骤一步步创建就好了,关键的点我会提醒一下

image-20250126213423133

image-20250126213447313

image-20250126213753808

image-20250126213820136

image-20250126214042399

image-20250126214239040

修改配置(BUG所在)

BUG1:fatal error: xxx.h: No such file or directory.

新建一个main文件,然后写入下面这个(用正点原子的也行,而且我也没写完,随便写写的QVQ),然后保存+编译(ctrl+B),然后就会遇到fatal error: xxx.h: No such file or directory.

image-20250126220623231

然后就会出现我下面这个问题,这个问题的原因是由于自定义IP的问题,然后官方决定我们要有能力写makefile文件,显然我没有这个能力,所以要做一些修改。

image-20250126214734371

解决办法:改写platform中的makefile文件(下面两个都要修改),直接全选替换成下面这个(其实就是通用的makefile)

COMPILER=
ARCHIVER=
CP=cp
COMPILER_FLAGS=
EXTRA_COMPILER_FLAGS=
LIB=libxil.a
RELEASEDIR=../../../lib
INCLUDEDIR=../../../include
INCLUDES=-I./. -I${INCLUDEDIR}
INCLUDEFILES=*.h
LIBSOURCES=$(wildcard *.c)
OBJECTS = $(addsuffix .o, $(basename $(wildcard *.c)))
ASSEMBLY_OBJECTS = $(addsuffix .o, $(basename $(wildcard *.S)))
libs:
echo "Compiling simple_adder..."
$(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}

然后build一下平台,然后再build一下工程(绿标的是平台,蓝标是工程)

image-20250126220238890

BUG2:make: *** [makefile:39: package] Error 1

搞定上面之后,我们就来到第二阶段的BUG,就是下面这个报错。

image-20250126220755593

这里说不存在这个文件,那么解决问题就是创一个新的即可,创建一个文件夹qemu,然后新建一个qemu_args.txt文件,里面什么都不用写,然后编译平台和工程,就么的问题啦o.0

image-20250126221048932

参考链接

Xilinx Vitis arm-xilinx-eabi-gcc.exe: error: *.c: Invalid argument-CSDN博客:这个链接还写了其他的问题,如果还有其他问题可以看看

Vitis报错:fatal error: xxx.h: No such file or directory._vitis no such file or directory-CSDN博客

Vitis出错:makefile:39:package-CSDN博客

posted @   QM1412  阅读(51)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示