AnsweredAssumed Answered

problem with automatic inlining and memory map

Question asked by flo on Aug 12, 2011
Latest reply on Aug 24, 2011 by CraigG

hi,
i got a adsp-21371 and one .doj file.

 

In the .ldf file are two memory spaces declared which use the completly available memory space which is available in 48-bit space.

 

seg_int_code { TYPE(PM RAM) START(0x00090100) END(0x00091554) WIDTH(48) }
seg_pmda     { TYPE(PM RAM) START(0x000C0000) END(0x000C1554) WIDTH(48) }

 

In the processor section i got two output sections which should put the code into these two memory spaces.

 

seg_pmco
{
    // now map the default code sections
    INPUT_SECTIONS( $OBJECTS(seg_pmco) $LIBRARIES(seg_pmco))
} > seg_int_code

 

seg_pmco2
{
    // use unused space in seg_pmda for pmco
    INPUT_SECTIONS( $OBJECTS(seg_pmco) $LIBRARIES(seg_pmco))
} > seg_pmda

 

When i now setup in Project_Options->Compile->General the Inlining to "When declared inline" or "Always" the linking works, and it put
the complete code into memory space seg_int_code. But when i use Inlining = "Automatic", the linking fails with:

 

[Error li1040] ".\MemoryMap.ldf":218 Out of memory in output section 'seg_pmco' in processor 'p0'
        Total of 0x1f33 word(s) were not mapped.
For more details, see 'linker_log.xml' in the output directory.

 


[Error li1040] ".\MemoryMap.ldf":229 Out of memory in output section 'seg_pmco2' in processor 'p0'
        Total of 0x1f33 word(s) were not mapped.
For more details, see 'linker_log.xml' in the output directory.

 

Linker finished with 2 errors
cc3089: fatal error: Link failed

 

The code seemes to get even bigger with Inlining = "Automatic", but why does it not split the code then into the two memory spaces
(seg_int_code and seg_pmda) ?

 

thanks for help
flo

Outcomes