Error L60474U When Building Application for ARM Target in Evaluation Mode

Updated Jan 11, 2023

Reported In

Software

  • LabVIEW Full
  • LabVIEW 2009 ARM Module
  • LabVIEW Embedded Module

Issue Details

I am trying to build one of the LabVIEW Embedded Module for ARM 2009 shipping examples and I get the following error:

"Status: Error linking....
.\Obj\LabVIEW.axf: error: L6047U: The size of this image (16802097 bytes) exceeds the maximum allowed for this version of the linker
Target not created

Status: Build Failed"


I am evaluation mode for the software. What can I do to correct this?

Solution

In evaluation mode, the LabVIEW 2009 Embedded Module for ARM only allows you to build applications under 128 KB. Since the default Heap allocation is larger than this, all applications fail to build regardless of the size of your VI.

LabVIEW 2009 has no automatic way of detecting the evaluation mode and modifying the Heap size for you. Here is a way to do it manually:
  1. Open the startup file located at <LabVIEW folder>\Targets\Keil\Embedded\RealView\MCB2400\Template\System\ LPC2400.s(you might want to make a backup copy just in case)
  2. Find the line that reads "Heap_Size EQU 0x1000000" and change the value to something on par with the MCB2300 such as 0x4000. Your modified entry should read: Heap_Size EQU 0x0004000
  3. Create a new build specification under your project and build (this should work) Once you activate the LabVIEW for ARM Module, you can revert the size back to 0x1000000

Additional Information

This is a known issue with LabVIEW Embedded Module for ARM 2009 in evaluation mode. The issue (CAR#190424) is fixed in LabVIEW Embedded Module for ARM 2010.

If you have a license for the Keil uVision Software, follow the steps in the related links to activate the software and remove the compile size restrictions. 

The MCB2400 has large banks of external RAM. To take advantage of this, the default memory allocated for the Heap is quite large.