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.

ccs5 error #10010

Hi

My name is Divine

I am working on 28335 controller and coding on CCS5.

Till now, everything was fine. However when I added a very large array of 2048 words which is global, it gave me this error:

"C:/tidcs/c28/DSP2833x/v131/DSP2833x_common/cmd/28335_RAM_lnk.cmd", line 131: error #10099-D:
   run placement fails for object ".ebss", size 0x1759 (page 1).  Available
   ranges:
   RAML4        size: 0x1000       unused: 0x1000       max hole: 0x1000    
warning #10063-D: entry-point symbol other than "_c_int00" specified:
   "code_start"
error #10010: errors encountered during linking;
   "C:/tidcs/c28/DSP2833x/v131/DSP2833x_examples/scia_loopback_interrupts/Examp
   le_2833xSci_FFDLB_int/../../../DSP2833x_examples/scia_loopback_interrupts/De
   bug/Example_2833xSci_FFDLB_int.out" not built

When I double click on the error it takes me to 28335_RAM_lnk.cmd to this line:  .ebss            : > RAML4,     PAGE = 1

a part of the .cmd file is this:

SECTIONS
{
   /* Setup for "boot to SARAM" mode:
      The codestart section (found in DSP28_CodeStartBranch.asm)
      re-directs execution to the start of user code.  */
   codestart        : > BEGIN,     PAGE = 0
   ramfuncs         : > RAML0,     PAGE = 0
   .text            : > RAML1,     PAGE = 0
   .cinit           : > RAML0,     PAGE = 0
   .pinit           : > RAML0,     PAGE = 0
   .switch          : > RAML0,     PAGE = 0

   .stack           : > RAMM1,     PAGE = 1
   .ebss            : > RAML4,     PAGE = 1
   .econst          : > RAML5,     PAGE = 1
   .esysmem         : > RAMM1,     PAGE = 1

   IQmath           : > RAML1,     PAGE = 0
   IQmathTables     : > IQTABLES,  PAGE = 0, TYPE = NOLOAD

   /* Uncomment the section below if calling the IQNexp() or IQexp()
      functions from the IQMath.lib library in order to utilize the
      relevant IQ Math table in Boot ROM (This saves space and Boot ROM
      is 1 wait-state). If this section is not uncommented, IQmathTables2
      will be loaded into other memory (SARAM, Flash, etc.) and will take
      up space, but 0 wait-state is possible.
   */
   /*
   IQmathTables2    : > IQTABLES2, PAGE = 0, TYPE = NOLOAD
   {

              IQmath.lib<IQNexpTable.obj> (IQmathTablesRam)

   }
   */

   FPUmathTables    : > FPUTABLES, PAGE = 0, TYPE = NOLOAD

   DMARAML4         : > RAML4,     PAGE = 1
   DMARAML5         : > RAML5,     PAGE = 1
   DMARAML6         : > RAML6,     PAGE = 1
   DMARAML7         : > RAML7,     PAGE = 1

   ZONE7DATA        : > ZONE7B,    PAGE = 1

   .reset           : > RESET,     PAGE = 0, TYPE = DSECT /* not used                    */
   csm_rsvd         : > CSM_RSVD   PAGE = 0, TYPE = DSECT /* not used for SARAM examples */
   csmpasswds       : > CSM_PWL    PAGE = 0, TYPE = DSECT /* not used for SARAM examples */

   /* Allocate ADC_cal function (pre-programmed by factory into TI reserved memory) */
   .adc_cal     : load = ADC_CAL,   PAGE = 0, TYPE = NOLOAD

}

Can you suggest what can be done in order to proceed?

  • This error has come up many times on the forums. The message is saying that the size of the .ebss section (0x1759) is greater than the space available in the memory region it is allocated to (RAML4 which is of size 0x1000). You would need to either increase the size of the memory region or allocate .ebss to a different region that has sufficient space. Some general info here: http://processors.wiki.ti.com/index.php/C28x_Compiler_-_Understanding_Linking#Frequently_Asked_Questions

    In the case of this linker command file, you could combine RAML4 through RAML7 into a single region of length 0x4000 and allocate .ebss and modify the allocations to go to that new region.

    For example, in the MEMORY directive

       RAML4      : origin = 0x00C000, length = 0x004000

    and in the SECTIONS directive

       .ebss            : > RAML4,     PAGE = 1
       .econst          : > RAML4,     PAGE = 1

       DMARAML4         : > RAML4,     PAGE = 1
       DMARAML5         : > RAML4,     PAGE = 1
       DMARAML6         : > RAML4,     PAGE = 1
       DMARAML7         : > RAML4,     PAGE = 1