UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 35619

12.1 EDK - ERROR: "ld:region ilmb_cntlr_dlmb_cntlr is full"

Description


When I compile my software project, it reports the following error:

"/cygdrive/e/Xilinx/12.1/ISE_DS/.../ld:regionilmb_cntlr_dlmb_cntlrisfull(TestApp_Peripheral_microblaze_0/executable.elfsection.stack) make:***[TestApp_Peripheral_microblaze_0/executable.elf]Error1

Done!"

How can I resolve this error?

Solution


The error above indicates that the instruction and data memory spaces are not large enough to contain your application.

To resolve this problem, allocate more memory to the ilmb and dlmb memory controllers (note that doing so will use additional block RAM resources on the FPGA).



After increasing your ilmb and dlmb memory spaces, make sure you regenerate the linker script for your application.Otherwise, the instruction (.text) and data (.data) areas will remain the same size as the previous hardware setup.

To regenerate:
  1. Remove the linker script by right-clicking on the linker script and select Remove.
  2. Right-click on Linker Script and select Generate Linker Script.
  3. Click OK. This generates a linker script that matches the new memory sizes.

If you are running out of block RAM, consider using some external memories such as SRAM (using XPS_MCH_EMC core) or DDR SDRAM (using MPMC core).
AR# 35619
Date Created 01/04/2011
Last Updated 12/15/2012
Status Active
Type General Article
Tools
  • EDK - 12.1
  • EDK - 12.2
  • EDK - 12.3
  • EDK - 12.4