This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Section allocation errors with XDCtools 3.23.4.60

This post is related to the following thread in the CCS forum: http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/p/210806/752859.aspx#752859

The test project to reproduce the issue is attached. Simply import the project into CCS 5.2.1, set XDCtools to latest version (3.23.4.60) and build.

In the project the default linker command file for Concerto (F28M35H52C1.cmd) is relaced with F28M35x_generic_M3_FLASH.cmd. This causes a build error because it appears that a section named .flashfuncs is being created which defaults to allocation in a memory region named C03SRAM. If that memory region does not exist in the linker command file (as in the case of customer's custom linker command file), the following error is thrown:

<Linking>
"./configPkg/linker.cmd", line 94: warning #10097: memory range not found:  
 C03SRAM on page 0
"./configPkg/linker.cmd", line 94: error #10265: no valid memory range(NULL)
   available for placement of ".flashfuncs"
"./configPkg/linker.cmd", line 94: error #10099-D: run placement fails for
   object ".flashfuncs", size 0x3c (page 0)
error #10010: errors encountered during linking; "test.out" not built
gmake: *** [test.out] Error 1
gmake: Target `all' not remade because of errors.


The workaround is to modify the linker command file to have a memory region named C03SRAM, but is this to be expected and/or would there be a better long term solution without users having to modify their linker command files?

7140.test.zip

 

  • Aarti,
    that workaround is currently the only way to resolve that problem. I could imagine some different solutions in the future XDCtools releases, but any such solution would require a user's involvement. For example, a user would have to specify in the CFG script the name for the FLASH memory and the name for RAM that will be used in the custom linker command file. I am not sure if that would be much better than asking a user to keep the name of RAM unchanged.

    The real cause of the problem is that at the time when the CFG script runs, and the allocation for .flashfuncs is being generated, the content of the custom linker command file is not known. Either the code that generates the allocation has to guess that the memory names are as in the default linker command file, or the user has to point to the memory layout that will be used.
    Here is the bug I filed to track the problem: https://bugs.eclipse.org/bugs/show_bug.cgi?id=389180.

     

  • Hello Sasha,

    I am facing similar issue. Need to have custom memory section. I copied generated linker.cmd file and added my section and renamed it to linkCopy.xdl and added its path into .cfg file.
    Problem is if in my config memory layout changes i have to repeat all above. As you said is there any solution in latest release?

    Prasad
  • Prasad,

    This is an old closed thread. Can you please start a new thread with your questions, the versions of the software you are using and a link to this post?

    Thanks,
    Vikram