AnsweredAssumed Answered

AD-FMCOMMS3-EBZ VC707 Same Src Code - Project Mode .bit build embedded uB .elf works but Non Project .bit result dosn't work?

Question asked by AnhDat on May 29, 2015
Latest reply on May 29, 2015 by CsomI

On modified development based off of the AD-FMCOMMS3-EBZ ADI no-os baremetal example design for the VC707 -->


Vivado 2014.2 build via project mode .bit file has working Microblaze / .elf file runs but non-project mode build with same source code seems to never allow the microblaze to run...? (build from same exact code base)

Why would this be?  Anything specifically I should look for, in log files, etc?


The differnce in the Make systems are that Project Mode build uses / allows the use of export_hardware -bit command providing the .bit files that works and a system.xml file for xsdk but with non-project mode I get:

"WARNING: [Common 17-210] 'export_hardware' is deprecated, please use 'write_hwdef' for pre synthesis export and 'write_sysdef' after bitstream instead."


So I then use those steps and generate_bitstream command, using that resulting .bit file.  Is this the correct process?



Basically I have a known .elf file that works with the project mode build -

I have 2 .bit builds that should be very similar just built one in project mode, one in non project mode.

I load the .bit builds and then the .elf via xmd:


fpga -f <files>

connect mb mdm

dow <file.elf>


disconnect 0



Both appear to load successfully and start the microblaze acording to XMD but simple hardware verification testing looking at the USB-to-UART RS232 console that connects for ADI no-os baremetal commands to/from the Microblaze doesn't do anything with the non-project mode .bit build.


I'll look into chipscoping/ila probing some stuff - but I think I'm missing a step/doing something wrong when generating the .bitstream for non-proj mode build...


Should I have to create a new/different .elf file for each of the 2 builds - what would/neet to be different for the two?

Is there a way to extract the .bit file from the non-proj .sysdef files .bit file and use that one or something like that insteam of what generate_bitstream gives me?