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.

TMS320F280041: New sysbios example project has linker errors.

Part Number: TMS320F280041
Other Parts Discussed in Thread: SYSBIOS

Hello,

I imported a new sysbios project "task 28" in CCS10.4. All tools have been updated.

No changes were made to the project.

Getting the following errors:

Description Resource Path Location Type
#10010 errors encountered during linking; "task28.out" not built task28 C/C++ Problem
gmake: *** [all] Error 2 task28 C/C++ Problem
gmake[1]: *** [task28.out] Error 1 task28 C/C++ Problem
<a href="file:/C:/TI/ccs1040/ccs/tools/compiler/dmed/HTML/10099.html">#10099-D</a> program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section. placement with alignment/blocking fails for section ".econst" size 0x18e8page 0. Available memory ranges: 28004x_generic_flash_lnk.cmd /task28 line 98 C/C++ Problem
#10265 no valid memory range available for placement of ".text:ti_catalog_c2800_initF2837x_flashfuncs" linker.cmd /task28/Debug/configPkg line 72 C/C++ Problem
<a href="file:/C:/TI/ccs1040/ccs/tools/compiler/dmed/HTML/10099.html">#10099-D</a> program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section. load placement with alignment/blocking fails for section ".text:ti_catalog_c2800_initF2837x_flashfuncs" size 0x2bpage 0 linker.cmd /task28/Debug/configPkg line 72 C/C++ Problem
<a href="file:/C:/TI/ccs1040/ccs/tools/compiler/dmed/HTML/10099.html">#10099-D</a> program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section. run placement with alignment/blocking fails for section ".text:ti_catalog_c2800_initF2837x_flashfuncs" size 0x2bpage 0 linker.cmd /task28/Debug/configPkg line 72 C/C++ Problem
#10247-D creating output section ".binit" without a SECTIONS specification task28 C/C++ Problem
#10247-D creating output section ".data" without a SECTIONS specification task28 C/C++ Problem
#10097 memory range not found: D01SARAM on page 0 linker.cmd /task28/Debug/configPkg line 73 C/C++ Problem
#10097 memory range not found: FLASHA on page 0 linker.cmd /task28/Debug/configPkg line 72 C/C++ Problem

I think there is some problem with .cmd file. 

Same thing happens with other sysbios example projects.

Could you please tweak the file so that the project builds properly.

Thanks in advance.

F280049C.zip

  • Amar,

    I've seen this occur when a function attempts to span a defined memory region in the linker file.  Ex below:

       FLASH_BANK0_SEC0  : origin = 0x080002, length = 0x000FFE	/* on-chip Flash */
       FLASH_BANK0_SEC1  : origin = 0x081000, length = 0x001000	/* on-chip Flash */
       FLASH_BANK0_SEC2  : origin = 0x082000, length = 0x001000	/* on-chip Flash */
       FLASH_BANK0_SEC3  : origin = 0x083000, length = 0x001000	/* on-chip Flash */  ...
    
    SECTIONS
    {
       
       .text            : >> FLASH_BANK0_SEC2 | FLASH_BANK0_SEC3 | FLASH_BANK0_SEC5,   PAGE = 0, ALIGN(4)
    ...   
       

    Even though we have allocated .text to multiple flash sectors for size reasons, if a function crosses one of these boundaries it will throw the error you have posted.

    The solution would be to define a bigger section with the same base address and a total length equal to multiple sectors.  The flash API knows the sector boundaries for programming purposes, so there will not be any impact there.

    Let me know if this solves the above issue.  Also, you mention importing this to CCS 10.4, did this example compile/link without errors on a previous version of CCS?

    Best,

    Matthew