01-04-2019 03:41 PM
I am attempting to program the Artix-7 on my NEXYS 4 evaluation board. I am using Xilinx SDK 2018.3. My block design includes a MicroBlaze and an external memory controller that I have ported to the on-board cellular RAM.
When I attempt to program the FPGA in SDK using the generated .elf (size is 980,204 bytes), I receive these messages:
CRITICAL WARNING: [memdata-28-246]
ERROR: [Updatemem 57-153] Failed to update the BRAM INIT strings for <source>/dbs.elf and <source>/Bit_Sync_Top.mmi.
ERROR: [Common 17-39] 'update_mem' failed due to earlier errors.
My first concern is the critical warning because I have been unable to find its meaning anywhere.
The problem with both of the solutions they suggest is that my .elf will not fit in the MicroBlaze's BRAM as described by this CDT Build Console error:
c:/xilinx/sdk/2018.3/gnu/microblaze/nt/bin/../lib/gcc/microblaze-xilinx-elf/7.3.1/../../../../microblaze-xilinx-elf/bin/ld.exe: dbs.elf section `.text' 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/sdk/2018.3/gnu/microblaze/nt/bin/../lib/gcc/microblaze-xilinx-elf/7.3.1/../../../../microblaze-xilinx-elf/bin/ld.exe: region `microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem' overflowed by 341048 bytes
Are there suggestions regarding how to 1) understand what the critical warning means, 2) solve the updatemem error without changing the linker script options to MicroBlaze BRAM?
Any help would be greatly appreciated! Please let me know if my explanation or questions require elaboration.