參考文章:
【小梅哥FPGA】 Vitis開發中自定義IP的Makefile路徑問題解決方案
Vitis IDE自定義IP Makefile錯誤(arm-xilinx-eabi-gcc.exe: error: *.c: Invalid argument)解決方法
? ? ? ? Vitis 使用自定義IP時:?Makefile 文件里的語句是需要修改的,如果不修改,當包含該 IP 的硬件(xsa)文件導出 到 vitis 后,對 vitis 工程進行編譯就會報錯,報錯信息為“xxx.h: No such file or directory”。因此需要在使用該 IP前 就完成修改 , 確保導出.xsa文件時 IP Makefile已做修改?(若在使用未修改的IP導出的.xsa文件情況下,再做修改仍然會報錯!!!)
解決方法:
????????在 IP 所在路徑:...\custom_ip\ip_repo\breath_led_ip_1.0\drivers\breath_led_ip_v1_0\src?目錄下找到Makefile文件:
修改后Makefile代碼如下:
COMPILER=
ARCHIVER=
CP=cp
COMPILER_FLAGS=
EXTRA_COMPILER_FLAGS=
LIB=libxil.aRELEASEDIR=../../../lib
INCLUDEDIR=../../../include
INCLUDES=-I./. -I${INCLUDEDIR}INCLUDEFILES=$(wildcard *.h)
LIBSOURCES=$(wildcard *.c *.cpp)
OUTS =*.oOBJECTS = $(addsuffix .o, $(basename $(wildcard *.c *.cpp)))
ASSEMBLY_OBJECTS = $(addsuffix .o, $(basename $(wildcard *.S)))libs:echo "Compiling myip"$(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}