今天用 Vivado 自定义了一个 IP,在导入到 Vitis 中 platform bulit project 失败,有这样的报错:
"arm-xilinx-eabi-gcc.exe: error: *.c: Invalid argument arm-xilinx-eabi-gcc.exe: fatal error: no input files compilation terminated. make[3]: *** [Makefile:18: libs] Error 1 make[2]: *** [Makefile:46: ps7_cortexa9_0/libsrc/test_ip_v1_0/src/make.libs] Error 2 make[1]: *** [Makefile:18: all] Error 2
以上内容可以看出是 makefile 错误。它是一种找不到文件路径的 Bug。
修复步骤如下:
- 在 Vivado 中完成 ip 设计后,修改 ip_repo/custom_ip_name/drivers/custom_ip_name/src 文件夹中 makefile 文件第12到14行:
INCLUDEFILES=$(wildcard *.h) LIBSOURCES=$(wildcard *.c) OUTS = $(wildcard *.o)
- 在新工程中载入 ip, (若已载入需更新 ip ),完成工程设计
- 最后才能生成 hardware 文件给 Vitis 使用
参考信息:
https://support.xilinx.com/s/question/0D52E00006hpOx5SAE/drivers-and-makefiles-problems-in-vitis-20202?language=en_US
https://support.xilinx.com/s/article/75527?language=en_US
小声吐槽:Xilinx 什么时候修复这 BUG
没有回复内容