1. 程式人生 > 其它 >Xilinx Vitis 2020.1裡面執行C程式時提示找不到microblaze_0

Xilinx Vitis 2020.1裡面執行C程式時提示找不到microblaze_0

技術標籤:FPGAFPGAXilinxVitisMicroBlazeVivado

Executables selected for download on to the following processors doesn't exist or incorrectly specified. Do you wish to ignore them and proceed?
1. microblaze_0

其實根本就不是MicroBlaze找不到,而是程式根本就沒有編譯出來!

仔細看一下編譯時的輸出資訊:

10:12:15 **** Build of configuration Debug for project lwiptest ****
make all 
'Building file: ../src/echo.c'
'Invoking: MicroBlaze gcc compiler'
mb-gcc -Wall -O0 -g3 -c -fmessage-length=0 -MT"src/echo.o" -IE:/fpga_projects/test4/ethernet_test3/ethernet_test3/export/ethernet_test3/sw/ethernet_test3/standalone_domain/bspinclude/include -mlittle-endian -mcpu=v11.0 -mxl-soft-mul -Wl,--no-relax -ffunction-sections -fdata-sections -MMD -MP -MF"src/echo.d" -MT"src/echo.o" -o "src/echo.o" "../src/echo.c"
'Finished building: ../src/echo.c'
' '
'Building file: ../src/i2c_access.c'
'Invoking: MicroBlaze gcc compiler'
mb-gcc -Wall -O0 -g3 -c -fmessage-length=0 -MT"src/i2c_access.o" -IE:/fpga_projects/test4/ethernet_test3/ethernet_test3/export/ethernet_test3/sw/ethernet_test3/standalone_domain/bspinclude/include -mlittle-endian -mcpu=v11.0 -mxl-soft-mul -Wl,--no-relax -ffunction-sections -fdata-sections -MMD -MP -MF"src/i2c_access.d" -MT"src/i2c_access.o" -o "src/i2c_access.o" "../src/i2c_access.c"
'Finished building: ../src/i2c_access.c'
' '
'Building file: ../src/iic_phyreset.c'
'Invoking: MicroBlaze gcc compiler'
mb-gcc -Wall -O0 -g3 -c -fmessage-length=0 -MT"src/iic_phyreset.o" -IE:/fpga_projects/test4/ethernet_test3/ethernet_test3/export/ethernet_test3/sw/ethernet_test3/standalone_domain/bspinclude/include -mlittle-endian -mcpu=v11.0 -mxl-soft-mul -Wl,--no-relax -ffunction-sections -fdata-sections -MMD -MP -MF"src/iic_phyreset.d" -MT"src/iic_phyreset.o" -o "src/iic_phyreset.o" "../src/iic_phyreset.c"
'Finished building: ../src/iic_phyreset.c'
' '
'Building file: ../src/main.c'
'Invoking: MicroBlaze gcc compiler'
mb-gcc -Wall -O0 -g3 -c -fmessage-length=0 -MT"src/main.o" -IE:/fpga_projects/test4/ethernet_test3/ethernet_test3/export/ethernet_test3/sw/ethernet_test3/standalone_domain/bspinclude/include -mlittle-endian -mcpu=v11.0 -mxl-soft-mul -Wl,--no-relax -ffunction-sections -fdata-sections -MMD -MP -MF"src/main.d" -MT"src/main.o" -o "src/main.o" "../src/main.c"
'Finished building: ../src/main.c'
' '
'Building file: ../src/platform.c'
'Invoking: MicroBlaze gcc compiler'
mb-gcc -Wall -O0 -g3 -c -fmessage-length=0 -MT"src/platform.o" -IE:/fpga_projects/test4/ethernet_test3/ethernet_test3/export/ethernet_test3/sw/ethernet_test3/standalone_domain/bspinclude/include -mlittle-endian -mcpu=v11.0 -mxl-soft-mul -Wl,--no-relax -ffunction-sections -fdata-sections -MMD -MP -MF"src/platform.d" -MT"src/platform.o" -o "src/platform.o" "../src/platform.c"
'Finished building: ../src/platform.c'
' '
'Building file: ../src/platform_mb.c'
'Invoking: MicroBlaze gcc compiler'
mb-gcc -Wall -O0 -g3 -c -fmessage-length=0 -MT"src/platform_mb.o" -IE:/fpga_projects/test4/ethernet_test3/ethernet_test3/export/ethernet_test3/sw/ethernet_test3/standalone_domain/bspinclude/include -mlittle-endian -mcpu=v11.0 -mxl-soft-mul -Wl,--no-relax -ffunction-sections -fdata-sections -MMD -MP -MF"src/platform_mb.d" -MT"src/platform_mb.o" -o "src/platform_mb.o" "../src/platform_mb.c"
'Finished building: ../src/platform_mb.c'
' '
'Building file: ../src/platform_ppc.c'
'Invoking: MicroBlaze gcc compiler'
mb-gcc -Wall -O0 -g3 -c -fmessage-length=0 -MT"src/platform_ppc.o" -IE:/fpga_projects/test4/ethernet_test3/ethernet_test3/export/ethernet_test3/sw/ethernet_test3/standalone_domain/bspinclude/include -mlittle-endian -mcpu=v11.0 -mxl-soft-mul -Wl,--no-relax -ffunction-sections -fdata-sections -MMD -MP -MF"src/platform_ppc.d" -MT"src/platform_ppc.o" -o "src/platform_ppc.o" "../src/platform_ppc.c"
'Finished building: ../src/platform_ppc.c'
' '
'Building file: ../src/platform_zynq.c'
'Invoking: MicroBlaze gcc compiler'
mb-gcc -Wall -O0 -g3 -c -fmessage-length=0 -MT"src/platform_zynq.o" -IE:/fpga_projects/test4/ethernet_test3/ethernet_test3/export/ethernet_test3/sw/ethernet_test3/standalone_domain/bspinclude/include -mlittle-endian -mcpu=v11.0 -mxl-soft-mul -Wl,--no-relax -ffunction-sections -fdata-sections -MMD -MP -MF"src/platform_zynq.d" -MT"src/platform_zynq.o" -o "src/platform_zynq.o" "../src/platform_zynq.c"
'Finished building: ../src/platform_zynq.c'
' '
'Building file: ../src/platform_zynqmp.c'
'Invoking: MicroBlaze gcc compiler'
mb-gcc -Wall -O0 -g3 -c -fmessage-length=0 -MT"src/platform_zynqmp.o" -IE:/fpga_projects/test4/ethernet_test3/ethernet_test3/export/ethernet_test3/sw/ethernet_test3/standalone_domain/bspinclude/include -mlittle-endian -mcpu=v11.0 -mxl-soft-mul -Wl,--no-relax -ffunction-sections -fdata-sections -MMD -MP -MF"src/platform_zynqmp.d" -MT"src/platform_zynqmp.o" -o "src/platform_zynqmp.o" "../src/platform_zynqmp.c"
'Finished building: ../src/platform_zynqmp.c'
' '
'Building file: ../src/sfp.c'
'Invoking: MicroBlaze gcc compiler'
mb-gcc -Wall -O0 -g3 -c -fmessage-length=0 -MT"src/sfp.o" -IE:/fpga_projects/test4/ethernet_test3/ethernet_test3/export/ethernet_test3/sw/ethernet_test3/standalone_domain/bspinclude/include -mlittle-endian -mcpu=v11.0 -mxl-soft-mul -Wl,--no-relax -ffunction-sections -fdata-sections -MMD -MP -MF"src/sfp.d" -MT"src/sfp.o" -o "src/sfp.o" "../src/sfp.c"
'Finished building: ../src/sfp.c'
' '
'Building file: ../src/si5324.c'
'Invoking: MicroBlaze gcc compiler'
mb-gcc -Wall -O0 -g3 -c -fmessage-length=0 -MT"src/si5324.o" -IE:/fpga_projects/test4/ethernet_test3/ethernet_test3/export/ethernet_test3/sw/ethernet_test3/standalone_domain/bspinclude/include -mlittle-endian -mcpu=v11.0 -mxl-soft-mul -Wl,--no-relax -ffunction-sections -fdata-sections -MMD -MP -MF"src/si5324.d" -MT"src/si5324.o" -o "src/si5324.o" "../src/si5324.c"
'Finished building: ../src/si5324.c'
' '
'Building target: lwiptest.elf'
'Invoking: MicroBlaze gcc linker'
mb-gcc -Wl,-T -Wl,../src/lscript.ld -LE:/fpga_projects/test4/ethernet_test3/ethernet_test3/export/ethernet_test3/sw/ethernet_test3/standalone_domain/bsplib/lib -mlittle-endian -mcpu=v11.0 -mxl-soft-mul -Wl,--no-relax -Wl,--gc-sections -o "lwiptest.elf"  ./src/echo.o ./src/i2c_access.o ./src/iic_phyreset.o ./src/main.o ./src/platform.o ./src/platform_mb.o ./src/platform_ppc.o ./src/platform_zynq.o ./src/platform_zynqmp.o ./src/sfp.o ./src/si5324.o   -Wl,--start-group,-lxil,-lgcc,-lc,--end-group -Wl,--start-group,-lxil,-llwip4,-lgcc,-lc,--end-group
c:/xilinx/vitis/2020.1/gnu/microblaze/nt/x86_64-oesdk-mingw32/usr/bin/microblaze-xilinx-elf/../../libexec/microblaze-xilinx-elf/gcc/microblaze-xilinx-elf/9.2.0/real-ld.exe: lwiptest.elf section `.bss' will not fit in region `microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem'
c:/xilinx/vitis/2020.1/gnu/microblaze/nt/x86_64-oesdk-mingw32/usr/bin/microblaze-xilinx-elf/../../libexec/microblaze-xilinx-elf/gcc/microblaze-xilinx-elf/9.2.0/real-ld.exe: region `microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem' overflowed by 733496 bytes
collect2.exe: error: ld returned 1 exit status
'Finished building target: lwiptest.elf'
' '
'Invoking: MicroBlaze Print Size'
mb-size lwiptest.elf  |tee "lwiptest.elf.size"
mb-size: 'lwiptest.elf': No such file
'Finished building: lwiptest.elf.size'
' '

10:12:17 Build Finished (took 2s.285ms)

裡面有一個error,說是BRAM空間不夠了,編譯失敗。連elf檔案(程式檔案)都沒有生成,當然就無法執行!

把BRAM的空間改大後,編譯成功了,程式就執行成功了。

程式執行成功後,如果串列埠沒有輸出,檢查一下Block Design裡面Uartlite波特率設定的對不對。