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/TMS320F2810: CCS7.1 Linker Error : f2810_flash.cmd, line 102: error #10099-D: program will not fit into available memory - run placement with alignment/blocking fails for section

Part Number: TMS320F2810

Tool/software: Code Composer Studio

Hi,

while migrating the project to CCS7.1 from CCS3.3 , I am getting "error #10099-D: program will not fit into available memory" Linker Error.

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

"f2810_flash.cmd", line 102: error #10099-D: program will not fit into available memory.  run placement with alignment/blocking fails for section
   "SciaRegsFile" size 0x10 page 1.  Available memory ranges: SCIA    size: 0x10   unused: 0x10   max hole: 0x10
   SciaRegsFile      : > SCIA,        PAGE = 1
  
"f2810_flash.cmd", line 103: error #10099-D: program will not fit into  available memory.  run placement with alignment/blocking fails for section
   "ScibRegsFile" size 0x10 page 1.  Available memory ranges: SCIB  size: 0x1f unused: 0x1f max hole: 0x1f
   ScibRegsFile      : > SCIB,        PAGE = 1

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

.cmd file

PAGE 1: /* Data Memory */
  /* RAM/FLASH/OTP blocks can be moved to PAGE0 for program allocation  */
  RAMM0M1     : origin = 0x000000, length = 0x000800
  RAMH0       : origin = 0x3F8000, length = 0x002000
  CSM_PWL     : origin = 0x3F7FF8, length = 0x000008


  SCIA        : origin = 0x007050, length = 0x000040    /* SCI-A registers */
  SCIB        : origin = 0x007750, length = 0x000040    /* SCI-B registers */


 }

------ If the length is increased to 40 in the .cmd file the linker error goes away and

------ in the map file size remains same at  0x10  and   unused: 0x30  for SCIA and SCIB

Can you please help to know  what could be the reason?

  • Hello

    What compiler are you using? Have you tried using the latest one?

    Best regards
    Chris
  • Hi ,

    Yes compiler is latest. Compiler version is ti-cgt-c2000_16.9.1.LTS - The compiler supplied with CCS7.1 istallation.

    please see the output from the cl2000 -version command below

    TMS320C2000 C/C++ Compiler v16.9.1.LTS
    Build Number 1QM6L-I3E26%M8-RTARQ-SAV-C08D

    TMS320C2000 C/C++ Parser v16.9.1.LTS
    Build Number 1QM6L-I3E26%M8-RTARQ-SAV-C08D
    TMS320C2000 EABI C/C++ Parser v16.9.1.LTS
    Build Number 1QM6L-I3E26%M8-RTARQ-SAV-C08D
    TMS320C2000 C/C++ File Merge v16.9.1.LTS
    Build Number 1QM6L-I3E26%M8-RTARQ-SAV-C08D
    TMS320C2000 C/C++ Optimizer v16.9.1.LTS
    Build Number 1QM6L-I3E26%M8-RTARQ-SAV-C08D
    TMS320C2000 C/C++ Codegen v16.9.1.LTS
    Build Number 1QM6L-I3E26%M8-RTARQ-SAV-C08D
    TMS320C2000 Assembler v16.9.1.LTS
    Build Number 1QM6L-I3E26%M8-RTARQ-SAV-C08D
    TMS320C2000 Embed Utility v16.9.1.LTS
    Build Number 1QM6L-I3E26%M8-RTARQ-SAV-C08D
    TMS320C2000 C Source Interlister v16.9.1.LTS
    Build Number 1QM6L-I3E26%M8-RTARQ-SAV-C08D
    TMS320C2000 Linker v16.9.1.LTS
    Build Number 1QM6L-I3E26%M8-RTARQ-SAV-C08D
    TMS320C2000 Absolute Lister v16.9.1.LTS
    Build Number 1QM6L-I3E26%M8-RTARQ-SAV-C08D
    TMS320C2000 Strip Utility v16.9.1.LTS
    Build Number 1QM6L-I3E26%M8-RTARQ-SAV-C08D
    TMS320C2000 XREF Utility v16.9.1.LTS
    Build Number 1QM6L-I3E26%M8-RTARQ-SAV-C08D
    TMS320C2000 C++ Demangler v16.9.1.LTS
    Build Number 1QM6L-I3E26%M8-RTARQ-SAV-C08D
    TMS320C2000 Hex Converter v16.9.1.LTS
    Build Number 1QM6L-I3E26%M8-RTARQ-SAV-C08D
    TMS320C2000 Name Utility v16.9.1.LTS
    Build Number 1QM6L-I3E26%M8-RTARQ-SAV-C08D
    TMS320C2000 Object File Display v16.9.1.LTS
    Build Number 1QM6L-I3E26%M8-RTARQ-SAV-C08D
    TMS320C2000 Archiver v16.9.1.LTS
    Build Number 1QM6L-I3E26%M8-RTARQ-SAV-C08D

    Thanks
    Eshwaran
  • Hi ,

    Any update to me?

    I have more inputs to this issue.

    • The Map file shows  origin as 00007080  instead of  00007050 for _SciaRegs 
    • The Map file shows  origin as 00007780  instead of  00007750 for _ScibRegs

    • when ofd2000 --obj_display=none,sections ls.out was executed the memory align shows 64
      • the align section information shows  64 
      • OBJECT FILE: ls.out
        • Section Information

        id name            page load addr     run addr      size align alloc
        -- ---- ---- --------- -------- ---- ----- -----

        10 SciaRegsFile 1 0x00007080 0x00007080    0x10 64     Y
        11 ScibRegsFile 1 0x00007780 0x00007780    0x10 64      Y

  • Eshwaran

    Are you trying to align anything else in the linker to a particular boundary that might be conflicting?
    You could try adding ALIGN(4) [ ex: SciaRegsFile : > SCIA, PAGE = 1, ALIGN(4) ] to see if you can force it to align.

    George gives details here that may assist with debug: e2e.ti.com/.../295439

    Best regards
    Chris