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?