AnsweredAssumed Answered

IAR ilinkarm unreasonable placement failure [Lp011]

Question asked by kirem on Jul 6, 2015
I'm having an issue allocating space for a heap.

The version of the linker I'm using is 7.40.3.8902

Here's a extract from the linker icf file.

define symbol RAM_HEAP_start         = 0x20018000;
define symbol RAM_HEAP_end           = 0x2001BFFF;

define symbol __ICFEDIT_size_heap__   = 0x2000;

define region RAM_HEAP_region   = mem:[from RAM_HEAP_start    to RAM_HEAP_end];

define block HEAP               with alignment = 8, size = __ICFEDIT_size_heap__   { };

place in RAM_HEAP_region        { block HEAP };

I get the following error:

Error[Lp011]: section placement failed 
 unable to allocate space for sections/blocks with a total estimated minimum size of  0x2000 bytes (max align 0x8) in <[0x20018000-0x2001bfff]> (total uncommitted space  0x0). 

RAM_HEAP_region should define a space for 0x4000 bytes. __ICFEDIT_size_heap__ = 0x2000 which should fit quite nicely. reducing the number to 0x1d18 finally links.

Anyone have any ideas what I might be doing wrong?

Thanks, Kirem


Outcomes