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.

Placement error in CCS



Hi, I'm trying to compile a set of C files in CCS v 4. I want to program the ezdsp c5505 usb stick. I'm getting the following errors. I dont k now what they mean. Please help.

error: run placement fails for object ".bss", size 0x10deee (page 0).
   Available ranges:
   ROM          size: 0xffff       unused: 0xffff       max hole: 0xffff   
error: placement fails for object ".text", size 0x786d7 (page 0).  Available
   ranges:
   RAM          size: 0xfeff       unused: 0xe16d       max hole: 0xe16d   
error: placement fails for object ".const", size 0x26622 (page 0).  Available
   ranges:
   RAM          size: 0xfeff       unused: 0xe16d       max hole: 0xe16d
   ROM          size: 0xffff       unused: 0xffff       max hole: 0xffff
   VECS         size: 0x100        unused: 0x0          max hole: 0x0      

 

Thanks in advance

  • Those errors mean that those sections of your program are too large for the area in memory that you have allocated for it.

    Example:

    Immanuel Raja said:
    error: placement fails for object ".const", size 0x26622 (page 0).  Available
       ranges:

    This value '0x26622' is bigger than any memory range available:

    Immanuel Raja said:
      

    RAM          size: 0xfeff       unused: 0xe16d       max hole: 0xe16d
    ROM          size: 0xffff       unused: 0xffff       max hole: 0xffff
    VECS         size: 0x100        unused: 0x0          max hole: 0x0      

    So it can't fit. You need to cut down the size of your sections or find memory ranges big enough to hold them.

    ki

  • Thank you Ki.

    I just want to clarify one point. Does this mean that i should play around with the way memory has been sectioned or whatever, or is it that board simply can't handle this amount of data and i have to cut down on the size?

    i am copy-pasting the warnings which came along for ur perusal.

     

    warning: creating output section ".cio" without a SECTIONS specification
    warning: creating output section ".const" without a SECTIONS specification
    warning: creating output section ".switch" without a SECTIONS specification
    warning: creating ".stack" section with default size of 0x3e8; use the -stack
       option to change the default size
    warning: creating ".sysmem" section with default size of 0x7d0; use the -heap
       option to change the default size
    warning: creating ".sysstack" section with default size of 0x3e8; use the
       -sysstack option to change the default size
    error: run placement fails for object ".bss", size 0x10def2 (page 0).
       Available ranges:
       ROM          size: 0xffff       unused: 0xffff       max hole: 0xffff   
    error: placement fails for object ".text", size 0x786a5 (page 0).  Available
       ranges:
       RAM          size: 0xfeff       unused: 0xe163       max hole: 0xe163   
    error: placement fails for object ".const", size 0x265c6 (page 0).  Available
       ranges:
       RAM          size: 0xfeff       unused: 0xe163       max hole: 0xe163
       ROM          size: 0xffff       unused: 0xffff       max hole: 0xffff
       VECS         size: 0x100        unused: 0x0          max hole: 0x0      

     

     

    Thanks a lot!!

  • Immanuel Raja said:
    Does this mean that i should play around with the way memory has been sectioned

    If you do, make sure that whatever you configure it to physically works with what exists on your target (for example don't say you have more space for RAM when more actually doesn't exist on the target). Check the docs for the c5505 stick to see what the actual memory layout is. The *.cmd file in your project specifies the memory layout to the linker.

    Immanuel Raja said:
    or is it that board simply can't handle this amount of data and i have to cut down on the size?

    This could be the case. See above.

  • Thanks a lot Ki. I'll try to reduce it..

  • Ki-Soo Lee said:

    Those errors mean that those sections of your program are too large for the area in memory that you have allocated for it.

    Example:

    error: placement fails for object ".const", size 0x26622 (page 0).  Available
       ranges:

    This value '0x26622' is bigger than any memory range available:

    Immanuel Raja said:
      

    RAM          size: 0xfeff       unused: 0xe16d       max hole: 0xe16d
    ROM          size: 0xffff       unused: 0xffff       max hole: 0xffff
    VECS         size: 0x100        unused: 0x0          max hole: 0x0      

    So it can't fit. You need to cut down the size of your sections or find memory ranges big enough to hold them.

    ki

    [/quote]

    Hello Ki-Soo Lee

    I'm having the same problem on a MSP430. How can I identify a section in my source code? A while() or a switch() statement is a section?

    To cut down the size of a section, what should I do? I mean, if I make my program smaller, it's not going to do all the stuff that I need, and I'm sure this microcontroller still have flash and RAM enought for it...

  • Flavio Henrique Pereira de Oliveira said:
    I'm having the same problem on a MSP430. How can I identify a section in my source code? A while() or a switch() statement is a section?

    See sections 4.4.6 and 6.1.3 of the MSP430 compiler user's guide for more explanations on sections.

    Flavio Henrique Pereira de Oliveira said:
    To cut down the size of a section, what should I do? I mean, if I make my program smaller, it's not going to do all the stuff that I need, and I'm sure this microcontroller still have flash and RAM enought for it...

    See section 7.5.4 of the MSP430 assembler user's guide. It details the SECTIONS directive and how you can control size and placement of your sections.

    thanks

    ki

     

  • hanks, i'll read these docs.