06-08-2014 03:50 PM
Little history - Migrated from version 10.x using Spartan3e to version 14.7 using Spartan6. Therefore, original design used XPS in 10.x to generate both the .bit and.elf files. Now in 14.7, XPS is used solely for the .bit file and SDK is utilized for .elf generation. Trying to verify new design on a new board w/ Spartan6. Have a couple of questions.
SDK Project Structure:
In Debugging MicroBlaze0 projects alone in SDK, cannot get my Application_MicroBlaze0_NTP C source code viewable - shows only in assembler. However, Xilinx library code Application_MicroBlaze0_NTP_bsp (from .mss file) in debugger is mixed (C and Assembler). What am I missing? How do I get my Application_MicroBlaze0_NTP shown in mix? By the way the configuration is Debug = active. Below is the command line.
-Wall -O0 -g3 -I"C:\Application_xc6slx25_AXI\SDK_projects\Application_MicroBlaze0_NTP\src" -c -fmessage-length=0 -D __XMK__ -I../../Application_MicroBlaze0_NTP_bsp/microblaze_0/include -mlittle-endian -mxl-barrel-shift -mno-xl-soft-div -mcpu=v8.50.c -mno-xl-soft-mul -mxl-multiply-high -mhard-float -mxl-float-convert -mxl-float-sqrt -Wl,--no-relax -ffunction-sections -fdata-sections
Next question. Is SDK smart enough to know how the Microblaze is configured in XPS? Therefore, if mult and floating point is enabled on the microblaze in hardware file - will the compiler automatically use the hardware rather than using software when project is built. I had to go into settings - "Microblaze gcc compiler -> Inferred Options -> Processor Options" and manually change these settings to better reflect the hardware. One would think, I should not have to do this.
Futhermore, tweeking the hardware in XPS and exporting into SDK does not always appear to update the mss file completely / properly / immediately. For instance, I had an IP on MicroBlaze1 and later changed it to MicroBlaze0 - the mss did not seem to update the change right away. I guess the question would be - what is the iron clad way to take new .bit into SDK?
I have spent days trying to work thru these issues. I have yet to dive into new board.
I would appreciate any assistance. Thank you in advance!
06-08-2014 11:36 PM
Whenever there is a change the recommendation is to do a Export HW to SDK and try to create a workspace for it.
The options set in the HW(while configuring the Microblaze) would be propogated to SDK BSP and can be confirmed in xparameters.h generated.
06-09-2014 06:18 AM
Just for clarity - do I have to make a brand new workspace? Normally, I export XPS with new .bit and then in SDK see if "Change Hardware Platform Specification" window is up and click "Yes". If not up, I will right click on myApplication_xc6slx25_AXI_hw_platform and manually do it myself.
Thanks for your response!
06-09-2014 08:31 AM
I fixed the debug issue for viewing my application in mixed mode. I was loading the release .elf and not debug .elf.
06-09-2014 07:41 PM
This makes sense. You are following the right procedure.