OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 73|回复: 0

[XILINX] vitis使用自定义IP时工程报错的解决办法

[复制链接]

4

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
107
金钱
107
注册时间
2023-2-22
在线时间
22 小时
发表于 2025-1-10 16:29:28 | 显示全部楼层 |阅读模式
本帖最后由 FPGA技术 于 2025-1-11 09:45 编辑

1、问题描述
在vitis使用自定义ip生成的工程会出现如下报错:
自定义IP报错.jpg

2、解决办法
根据报错信息可知,是自定义IP库里的makefile文件导致编译报错。在硬件平台工程中有三个自定义IP库,对应有三个自定义IP的makefile文件。
Makefile 文件在硬件平台工程中有三处,它们的路径分别是:
1vitis\system_wrapper\hw\drivers\breath_led_ip_v1_0\src
2
vitis\system_wrapper\hw\drivers\breath_led_ip_v1_0\srcvitis\system_wrapper\ps7_cortexa9_0\standalone_ps
7_cortexa9_0\bsp\ps7_cortexa9_0\libsrc\breath_led_ip_v1_0\src
3
vitis\system_wrapper\zynq_fsbl\zynq_fsbl_bsp\ps7_cortexa9_0\libsrc\breath_led_ip_v1_0\src
自动生成的Makefile如下,熟悉Makefile应该能看出了这个Makefile是个半成品,官方意图很明显,是希望使用者自己编写自定义ip的驱动和Makefile,使用者应该具备为自定义ip编写驱动和Makefile的能力,所以vitis没有再像sdk一样为用户编写能够编译通过的Makefile。
COMPILER=
ARCHIVER=
CP=cp
COMPILER_FLAGS=
EXTRA_COMPILER_FLAGS=
LIB=libxil.a

RELEASEDIR=../../../lib
INCLUDEDIR=../../../include
INCLUDES=-I./. -I${INCLUDEDIR}

INCLUDEFILES=*.h
LIBSOURCES=*.c
OUTS = *.o

libs:
        echo "Compiling breath_led_ip..."
        $(COMPILER) $(COMPILER_FLAGS) $(EXTRA_COMPILER_FLAGS) $(INCLUDES) $(LIBSOURCES)
        $(ARCHIVER) -r ${RELEASEDIR}/${LIB} ${OUTS}
        make clean

include:
        ${CP} $(INCLUDEFILES) $(INCLUDEDIR)

clean:
        rm -rf ${OUTS}


解决办法 - 用户可以参考官方为他们其他模块编译的Makefile,事实上那些makefile都是通用的,直接复制过来将vitis为自定义ip生成的那三个半成品Makefile替换掉就行了。
替换makefile.png

通用的Makefile如下:

Makefile.rar

456 Bytes, 下载次数: 3

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-1-19 02:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表