
问题描述在Vitis中编辑代码后进行项目编译编译失败报错代码为fatal error: xparameters.h: No such file or directory原因分析只有在Vivado中使用自定义IP时才会出现假设自定义创建一个AXI4 IP核breath_led_ip_1.0名字自取会在ip_repo目录下生成一个文件夹breath_led_ip_v1.0该目录下的.\ip_repo\breath_led_ip_1.0\drivers\breath_led_ip_v1_0\src内有四个文件由Vivado自动生成功能为在Vitis中为使用这个自定义IP核提供函数其中的Makefile是官方提供的但是这个文件有错误会导致编译报错Vivado部分完成后导出xsa文件再在Vitis创建项目软件会将这个Makefile等文件拷贝到Vitis项目的system_wrapper中最终在Vitis中编译项目时就会因为这个Makefile的错误而编译失败解决方法官方给出了正确的Makefile参考但很奇怪为什么他们不在Vivado中修复这个bug需要我们自己复制下面的内容粘贴到自动生成的Makefile中重新编译项目编译成功COMPILER ARCHIVER CPcp COMPILER_FLAGS EXTRA_COMPILER_FLAGS LIBlibxil.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}参考链接Limfx-专业的科研工作者内容发布平台