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/MSP430FR5994: DEFAULT memory primitive error

Part Number: MSP430FR5994

Tool/software: Code Composer Studio

Hi,

I'm developing a application and wanted to rename the default FRAM in the linker command to a user defined one. So changing

MEMORY
{
..
FRAM : origin = 0x4000, length = 0xBF80

}

to 

MEMORY
{
..

 //FRAM: origin = 0x4000, length = 0x2  (only works with this commented out)
APP_FRAM : origin = 0x4002, length = 0x7F7E

}

displayed the following error message

Description Resource Path Location Type
DEFAULT memory range overlaps existing memory range APP_FRAM DEFAULT memory range overlaps existing memory range APP_FRAM cxr_16k_edition_uart_master C/C++ Problem

My question is what is this DEFAULT primitive ( shows up as 16 bytes in the memory view) and is there a way to get around this other than declaring a FRAM section at location 0x4000.

  • DEFAULT is the linker's default idea of what target memory looks like. Usually it's just the entire address space. It seems strange that you'd be getting any reference to DEFAULT, because it's only supposed to be used if you don't provide any MEMORY specification at all. Are you perhaps using more than one linker command file? Do you have a section being placed at an absolute address around 0x4000?
  • Many thanks, your answer has helped point me in the right direction. The linker command file was placing the GROUP(RW_IPE) into the hard-coded address 0x4000. Commenting that out has solved the issue.

    Tim


    GROUP(RW_IPE)
    {
    GROUP(READ_WRITE_MEMORY)
    {

    .TI.persistent : {} /* For #pragma persistent */
    .cio : {} /* C I/O Buffer */
    .sysmem : {} /* Dynamic memory allocation area */
    } PALIGN(0x0400), RUN_START(fram_rw_start)

    GROUP(IPENCAPSULATED_MEMORY)
    {
    .ipestruct : {} /* IPE Data structure */
    .ipe : {} /* IPE */
    .ipe_const : {} /* IPE Protected constants */
    .ipe:_isr : {} /* IPE ISRs */
    } PALIGN(0x0400), RUN_START(fram_ipe_start) RUN_END(fram_ipe_end) RUN_END(fram_rx_start)
    } > 0x4000