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.

CCS/LAUNCHXL-F280049C: SYS/BIOS

Part Number: LAUNCHXL-F280049C
Other Parts Discussed in Thread: SYSBIOS, TMS320F280049C

Tool/software: Code Composer Studio

Hi,

                   I am trying to complie a sample project for sysbios. I imported from resource exploerer. I am unbale to compile it . Please help.Below are the errors-

"../280049C_FLASH_lnk.cmd", line 73: error #10099-D: program will not fit into available memory.  placement with alignment/blocking fails for section ".text" size 0x313f page 0.  Available memory ranges:
   FLASH_BANK0_SEC1   size: 0x1000       unused: 0x1          max hole: 0x1       
   FLASH_BANK0_SEC2   size: 0x1000       unused: 0x0          max hole: 0x0       
   FLASH_BANK0_SEC3   size: 0x1000       unused: 0x0          max hole: 0x0       
"../280049C_FLASH_lnk.cmd", line 82: error #10099-D: program will not fit into available memory.  placement with alignment/blocking fails for section ".econst" size 0x1dc3 page 0.  Available memory ranges:
   FLASH_BANK0_SEC4   size: 0x1000       unused: 0x1000       max hole: 0x1000    
"../280049C_FLASH_lnk.cmd", line 80: error #10099-D: program will not fit into available memory.  run placement with alignment/blocking fails for section ".ebss" size 0xd5d page 1.  Available memory ranges:
   RAMLS5       size: 0x800        unused: 0x800        max hole: 0x800     
"configPkg/linker.cmd", line 72: warning #10097: memory range not found: D01SARAM on page 0
"configPkg/linker.cmd", line 71: error #10265: no valid memory range(null) available for placement of ".text:ti_catalog_c2800_initF2837x_flashfuncs"
"configPkg/linker.cmd", line 71: error #10099-D: program will not fit into available memory.  run placement with alignment/blocking fails for section ".text:ti_catalog_c2800_initF2837x_flashfuncs" size 0x27 page 0
"configPkg/linker.cmd", line 71: warning #10097: memory range not found: FLASHA on page 0
"configPkg/linker.cmd", line 71: error #10265: no valid memory range(null) available for placement of ".text:ti_catalog_c2800_initF2837x_flashfuncs"
"configPkg/linker.cmd", line 71: error #10099-D: program will not fit into available memory.  load placement with alignment/blocking fails for section ".text:ti_catalog_c2800_initF2837x_flashfuncs" size 0x27 page 0
error #10010: errors encountered during linking; "task_TMS320F280049C.out" not built
  • For the errors related to ti_catalog_c2800_initF2837x_flashfuncs, you can go into your cfg file and specify existing memory segments for Boot.loadSegment and Boot.runSegment since the default values don't exist in 280049C_FLASH_lnk.cmd (e.g. Boot.loadSegment = "FLASH_BANK0_SEC1 PAGE = 0").

    For the "will not fit into available memory" errors, you'll need to edit 280049C_FLASH_lnk.cmd to provide more space for the specified sections. You may want to try combining some of the memory blocks as described on this page: processors.wiki.ti.com/.../C28x_Compiler_-_Understanding_Linking

    I don't get these same errors when I import the task example. Have you changed the code or settings at all from the original example?

    Whitney
  • Hi,

                        Thanks for the reply. Even I thought so, as aren't sample examples supposed to work out of box if you select the right part number. Earlier I was using CCS  Version: 7.1.0.00016. I complies smoothly in this. But since we decided to use F280049C and it is only in  Version: 8.2.0.00007 . So same sample example doe snot compile . Which makes me wonder 

  • I agree. The examples should be updated to include cmd files that match the configuration. I'll report the issue to get it updated in a future release of SYS/BIOS.

    Whitney
  • So, I tried going into the files and changing the size limit. I t did not help much. Can you suggest some other mechanism.
  • Changing the .cmd file is the best way to fix this issue. Can you tell me what you tried so I can see if I can spot why it didn't work? You can go to View -> Memory Allocation in CCS to get a graphical view of where you have space available.

    Whitney
  • I just tried to assign the .section to available location . BUt it still does not compile. Do you have a step by step guide to do this.
  • Is the section larger than the location you tried to fit it in? Have you tried specifying multiple memory regions and and telling the linker to split the section across them. See option 2 here: processors.wiki.ti.com/.../C28x_Compiler_-_Understanding_Linking

    If that doesn't work, try combining memory regions to make one big enough for the section you're trying to place. There's an example here:
    processors.wiki.ti.com/.../C28x_Compiler_-_Understanding_Linking

    Whitney
  • Please see the screen shot of what i did. I Tried changing the section for .econst by using > option , some how i cant allocate it . Please help

  • If i cerate a new project from scratch and select the sys bios type . This also gives compile issue without changing anything. Which also makes me think does CCS V8.2 support sys bios 6.50? Am i using a right one
  • Are you talking about the change you made for .econst? There are a couple things you can try--(1) Using the ">" says that you want to allocate it into the first memory range in the list into which it fits properly. In your case, this won't work, because .econst is bigger than either one of those memory blocks. If you switch the ">" to a ">>", it tells the linker to split the section among the listed memory regions, so try that first.

    If that doesn't work, (2) you can try combining memory ranges to make a bigger memory range. So you could combine FLASH_BANK1_SEC4 and FLASH_BANK1_SEC5 into a new memory block called FLASH_BANK1_SEC4_5 and assign .econst to it.

    FLASH_BANK1_SEC4_5 : origin = 0x094000, length = 0x002000 /* on-chip Flash */
    /*FLASH_BANK1_SEC4 : origin = 0x094000, length = 0x001000 /* on-chip Flash */
    /*FLASH_BANK1_SEC5 : origin = 0x095000, length = 0x001000 /* on-chip Flash */

    .econst : >> FLASH_BANK1_SEC4_5, PAGE = 0, ALIGN(4)

    The problem is that SYS/BIOS isn't providing .cmd files that are compatible with its examples so you need to create them yourself. It's an issue that SYS/BIOS needs to fix. Using CCS 8.2 should be fine.

  • Thanks I did above changes ........ I can compile now . Thanks so much.