Vitis 2023.1 would fail to compile when I add a custom IP - Page 1
Forum section: electronics / general

author: ali_asadzadeh
author_rank: Super Contributor
timestamp: November 21, 2023, 08:51:58 am
content: HiI have designed a simple microblaze with some GPIO output to test some LED's It would implement and generate bitstream and I can successfully generate the Vitis project, compile and debug it.But when I add a simple custom AXI slave IP to the project, the project would be implemented ok in vivado, But when I update the Vitis project, it would fail to compile, it would generate errors,the only changes that I made to the axi slave IP is thisI have changed these lines like this2'h2 : reg_data_out <= slv_reg0 + slv_reg1;2'h3 : reg_data_out <= slv_reg0 - slv_reg1;Code:assign slv_reg_rden = axi_arready & S_AXI_ARVALID & ~axi_rvalid;always @(*)begin// Address decoding for reading registerscase ( axi_araddr[ADDR_LSB+OPT_MEM_ADDR_BITS:ADDR_LSB] )2'h0 : reg_data_out <= slv_reg0;2'h1 : reg_data_out <= slv_reg1;2'h2 : reg_data_out <= slv_reg0 + slv_reg1;2'h3 : reg_data_out <= slv_reg0 - slv_reg1;default : reg_data_out <= 0;endcaseendThe generated Error logCode:buildplatform.bat 58521 design_1_wrapperXSDB Server Channel: tcfchan#4Building the BSP Library for domain - standalone_microblaze_0 on processor microblaze_0make --no-print-directory seq_libs"Running Make include in microblaze_0/libsrc/bram_v4_8/src"make -C microblaze_0/libsrc/bram_v4_8/src -s include "SHELL=CMD" "COMPILER=mb-gcc" "ASSEMBLER=mb-as" "ARCHIVER=mb-ar" "COMPILER_FLAGS= -O2 -c -mcpu=v11.0 -mlittle-endian -mxl-soft-mul" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall-Wextra -fno-tree-loop-distribute-patterns""Running Make include in microblaze_0/libsrc/cpu_v2_17/src"make -C microblaze_0/libsrc/cpu_v2_17/src -s include "SHELL=CMD" "COMPILER=mb-gcc" "ASSEMBLER=mb-as" "ARCHIVER=mb-ar" "COMPILER_FLAGS= -O2 -c -mcpu=v11.0 -mlittle-endian -mxl-soft-mul" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall-Wextra -fno-tree-loop-distribute-patterns""Running Make include in microblaze_0/libsrc/gpio_v4_9/src"make -C microblaze_0/libsrc/gpio_v4_9/src -s include "SHELL=CMD" "COMPILER=mb-gcc" "ASSEMBLER=mb-as" "ARCHIVER=mb-ar" "COMPILER_FLAGS= -O2 -c -mcpu=v11.0 -mlittle-endian -mxl-soft-mul" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall-Wextra -fno-tree-loop-distribute-patterns""Running Make include in microblaze_0/libsrc/myTestip_v1_0/src"make -C microblaze_0/libsrc/myTestip_v1_0/src -s include "SHELL=CMD" "COMPILER=mb-gcc" "ASSEMBLER=mb-as" "ARCHIVER=mb-ar" "COMPILER_FLAGS= -O2 -c -mcpu=v11.0 -mlittle-endian -mxl-soft-mul" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra -fno-tree-loop-distribute-patterns""Running Make include in microblaze_0/libsrc/standalone_v8_1/src"make -C microblaze_0/libsrc/standalone_v8_1/src -s include "SHELL=CMD" "COMPILER=mb-gcc" "ASSEMBLER=mb-as" "ARCHIVER=mb-ar" "COMPILER_FLAGS= -O2 -c -mcpu=v11.0 -mlittle-endian -mxl-soft-mul" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections-Wall -Wextra -fno-tree-loop-distribute-patterns""Running Make libs in microblaze_0/libsrc/myTestip_v1_0/src"make -C microblaze_0/libsrc/myTestip_v1_0/src -s libs "SHELL=CMD" "COMPILER=mb-gcc" "ASSEMBLER=mb-as" "ARCHIVER=mb-ar" "COMPILER_FLAGS= -O2 -c -mcpu=v11.0 -mlittle-endian -mxl-soft-mul" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall-Wextra -fno-tree-loop-distribute-patterns""Compiling myTestip..."cc1.exe: fatal error: *.c: Invalid argumentcompilation terminated.make: *** [Makefile:18: libs] Error 1make: *** [Makefile:46: microblaze_0/libsrc/myTestip_v1_0/src/make.libs] Error 2make: *** [Makefile:18: all] Error 2Failed to build the bsp sources for domain - standalone_microblaze_0Failed to generate the platform.Reason: Failed to build the bsp sources for domain - standalone_microblaze_0invoked from within"::tcf::eval -progress {apply {{msg} {puts $msg}}} {tcf_send_command tcfchan#0 xsdb eval s es {{platform active design_1_wrapper; platform generate }}}"(procedure "::tcf::send_command" line 4)invoked from within"tcf send_command $::xsdb::curchan xsdb eval s es [list "platform active $PLATFORM_NAME; platform generate $target"]"invoked from within"if { $iswindows == 1 } {set XSDB_PORT [lindex $argv 0]set PLATFORM_NAME [lindex $argv 1]set arglen [llength $argv]set lastind..."(file "C:/Xilinx/Vitis/2023.1\scripts\vitis\util\buildplatform.tcl" line 11)

author: Daixiwen
author_rank: Frequent Contributor
timestamp: November 21, 2023, 09:24:24 am
content: It looks like when you created your IP, vivado created also some source files for the software project, probably so that you can write a driver for the BSP.Have a look at the files in microblaze_0/libsrc/myTestip_v1_0/src/My guess from the error message is that the generated makefile (make.libs) wants to compile some c files in the src folder but can't find any. Try and see if you can modify the makefile, or create an empty c file in the src folder so that make is happy. You'll need to write your driver in there later on anyway

author: ali_asadzadeh
author_rank: Super Contributor
timestamp: November 21, 2023, 09:46:07 am
content: Vivado and Vitis sucks, why they do not use or update their software, they use the stupid eclipse IDE instead of VScode too,I have fond the solution, so others can use it laterthe Generated makefile is wrong, plain stupid for AMD, you should update it like this to worksee the updated make file, even their solution article is not working and it's not updated, does anyone really use their Vitis or microblaze? because it seems no one has tested the damn thing before uploading it.https://support.xilinx.com/s/article/75527?language=en_USQuote

author: Boscoe
author_rank: Frequent Contributor
timestamp: November 22, 2023, 08:06:43 pm
content: I feel your pain on Vitis, Vivado I don’t have any critical problems with at the moment. Vitis 2023.1 would break when using MIPI DSI, 2023.2 on Linux and Windows fail to debug the target. 2023.2 unified can’t create new projects or import old ones on both platforms. At the moment, the development on my project has stopped because the tooling is actually just broken… unbelievable. How do they output this shit?

author: ali_asadzadeh
author_rank: Super Contributor
timestamp: November 23, 2023, 12:09:48 pm
content: QuoteIt's unbelievable