^

AR# 38178 12.1 EDK - "ERROR:EDK:3165 - elfcheck failed" when using two contiguous LMB blocks

Elfcheck can fail on multiple contiguous block RAM controllers, such as when two LMB controllers are used:

PARAMETER INSTANCE = ilmb_cntlr
PARAMETER C_BASEADDR = 0x00000000
PARAMETER C_HIGHADDR = 0x00003FFF
...
PARAMETER INSTANCE = ilmb2_cntlr
PARAMETER C_BASEADDR = 0x00004000
PARAMETER C_HIGHADDR = 0x00005FFF

However, elfcheck fails on this if the ELF is larger than 16k:

elfcheck peripheral_tests_0.elf -hw system.xml -pe microblaze_0
elfcheck
Xilinx EDK 12.2 Build EDK_MS2.63c
Copyright (c) 1995-2010 Xilinx, Inc. All rights reserved.

Command Line: elfcheck -hw system.xml -pe microblaze_0 peripheral_tests_0.elf

ELF file : peripheral_tests_0.elf
ERROR:EDK:3165 - elfcheck failed!
The following sections did not fit into Processor memory:
Section .rodata (0x3800 - 0x4029)

To work around this issue, disable elfcheck in SDK:
  1. Right-click on your project and select Properties.
  2. Expand the C/C++ Build section.
  3. Select Tool Chain Editor.
  4. Select the desired Configuration (Debug, Release, etc.).
  5. Click the Select Tools button.
  6. Check the "Allow all changes" option.
  7. Highlight Xilinx ELF Check in Used Tools on the right.
  8. Click the <-- Remove tool button.
  9. Click OK.

Additionally, if you attempt to use Program FPGA from the Xilinx Tools menu and select the same ELF as ELF File to Initialize in block RAM, it also fails.

To work around this problem, select the bootloop as ELF File to Initialize in block RAM, or program the "download.bit" file via the iMPACT GUI or batch mode.
AR# 38178
Date Created 09/28/2010
Last Updated 03/16/2011
Status Active
Type
Tools
  • EDK - 11.1
  • EDK - 11.2
  • EDK - 11.3
  • More
  • EDK - 11.4
  • EDK - 11.5
  • EDK - 12.1
  • EDK - 12.2
  • EDK - 12.3
  • EDK - 12.4
  • Less
Feed Back