06-18-2012 11:20 AM
I've been having issues with getting microblaze up and running on my custom board. All I did was say I have one LED (trying to make it easy to start) and did the peripheral test project to test that out. When it goes to make I get
**** Build of configuration Debug for project peripheral_tests_0 **** make all Building file: ../src/testperiph.c Invoking: MicroBlaze gcc compiler make: Interrupt/Exception caught (code = 0xc00000fd, addr = 0x4227d3)
It seems like it is having an issue with an include since in a different log file I can see this:
make -k all libgen -hw ../hw_platform_0/system.xml\ \ -pe microblaze_0 \ -log libgen.log \ system.mss libgen Xilinx EDK 13.4 Build EDK_O.87xd Copyright (c) 1995-2011 Xilinx, Inc. All rights reserved. Command Line: libgen -hw ../hw_platform_0/system.xml -pe microblaze_0 -log libgen.log system.mss Staging source files. Running DRCs. Running generate. Running post_generate. Running include - 'make -s include "COMPILER=mb-gcc" "ARCHIVER=mb-ar" "COMPILER_FLAGS=-mlittle-endian -mno-xl-soft-mul -mxl-barrel-shift -mxl-pattern-compare -mcpu=v8.20.b -O2 -c" "EXTRA_COMPILER_FLAGS=-g"'. make: Interrupt/Exception caught (code = 0xc00000fd, addr = 0x4227d3) make: Interrupt/Exception caught (code = 0xc00000fd, addr = 0x4227d3) make: Interrupt/Exception caught (code = 0xc00000fd, addr = 0x4227d3) ERROR:EDK:368 - make failed for target "include" ERROR:EDK:3418 - Error(s) while running make. make: *** [microblaze_0/lib/libxil.a] Error 2 make: Target `all' not remade because of errors.
But I still can't make much heads/tails out of it. Does anyone else have some ideas?
06-19-2012 01:08 PM
Try running Make All, as shown below. Your title shows you are having trouble building Hello World. But
your log shows its building testperiph.c..
Here is my make file for Hello World.
Building file: ../src/helloworld.c
Invoking: MicroBlaze gcc compiler
mb-gcc -Wall -O0 -g3 -c -fmessage-length=0 -I../../Standalone_bsp_0/microblaze_0/include -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare -mcpu=v8.20.a -mno-xl-soft-mul -MMD -MP -MF"src/helloworld.d" -MT"src/helloworld.d" -o"src/helloworld.o" "../src/helloworld.c"
Finished building: ../src/helloworld.c
Building target: hello_world_0.elf
Invoking: MicroBlaze gcc linker
mb-gcc -Wl,-T -Wl,../src/lscript.ld -L../../Standalone_bsp_0/microblaze_0/lib -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare -mcpu=v8.20.a -mno-xl-soft-mul -o"hello_world_0.elf" ./src/helloworld.o ./src/platform.o
Finished building target: hello_world_0.elf
Invoking: MicroBlaze Print Size
mb-size hello_world_0.elf |tee "hello_world_0.elf.size"
text data bss dec hex filename
2102 296 2090 4488 1188 hello_world_0.elf
Finished building: hello_world_0.elf.size
That said, it looks like you are getting an error on your XML file. I would verify that it is correct and you dont
have multiple XML's in your project.
I'd recommend starting a new SDK project from scratch. When it opens, select FILE --> NEW C PROJECT.
It will ask you to specify a HW Platform. Choose the correct XML file, then create a hello world C project and BSP.
06-20-2012 03:35 AM
Sorry about that, that was a poor choice of words; I meant the theoretical hello world, I was purly trying to turn an LED on (hence the peripheral file).
I now have it working, but it is a little crazy. Based off of a suggestion in the Xilinx forum of somone who had a similar issue, I removed "C:\Program Files (x86)\Git\bin" from the PATH directory in Win7 and now things work fine. The person at Xilinx was speculating that there are a lot of files that overlap in that bin directory and what Xilinx wants to call, so that was probably what happened (and it is known that the make doesn't want spaces in the directory structure).
I am not really thrilled that that is the solution (since I still want to use Git), but I am happy to have LEDs blinking finally.
Thanks for looking into it!