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.

FLASH memory range overlaps existing memory

I am developping a rtsc project under ccsv4.1.2,my dsp/bios version is 6.31,my platform is control28335.The DSP2833x_CodeStartBranch.asm,DSP2833x_CSMPasswords.asm are in my  project.My user cmd file is F28335_BIOS_flash.cmd.the content is as follow:

MEMORY
{
PAGE 0 :
   /* BEGIN is used for the "boot to SARAM" bootloader mode      */
   /* BOOT_RSVD is used by the boot ROM for stack.               */
   /* This section is only reserved to keep the BOOT ROM from    */
   /* corrupting this area during the debug process              */
  
   BEGIN_FLASH      : origin = 0x33fff6, length = 0x000002     /* Boot to M0 will go here                      */
   PASSWORDS    : origin = 0x33FFF8, length = 0x000008     /* Part of FLASHA.  CSM password locations in FLASHA            */     
   CSM_RSVD    :origin = 0x33ff80, length = 0x0076   
        
PAGE 1 :

}

/**************************************************************/
/* Link all user defined sections                             */
/**************************************************************/
SECTIONS
{
/*** User Defined Sections ***/
  // reset             : > RESET,             PAGE = 0, TYPE = DSECT   /* We are not using the .reset section */
   codestart         : > BEGIN_FLASH,           PAGE = 0           /* Used by file CodeStartBranch.asm */
   csm_rsvd          : > CSM_RSVD,              PAGE = 0           /* Used by file passwords.asm */
    passwords         : > PASSWORDS,             PAGE = 0           /* Used by file Passwords.asm */
   ramfuncs    :   LOAD = FLASH, PAGE = 0           /* Used by file Flash.c */
                         RUN = L03SARAM,      PAGE = 0           /* Load to flash, run from CSM secure RAM */
                         LOAD_START(_ramfuncs_loadstart),
                         LOAD_SIZE(_ramfuncs_loadsize),
                         RUN_START(_ramfuncs_runstart)
}

when i compiled the project ,i always got the error:

 error: FLASH memory range overlaps existing memory range CSM_RSVD...

 error: FLASH memory range overlaps existing memory range BEGIN_FLASH...

how could i solve this problem?My debugger is xds510,which is now only support  ccsv4.1.so i cann't change to ccsv4.2.

  • yong lin said:

    when i compiled the project ,i always got the error:

     error: FLASH memory range overlaps existing memory range CSM_RSVD...

     error: FLASH memory range overlaps existing memory range BEGIN_FLASH...

    In the Memory definitions, how is FLASH defined?  The error indicates that the start + length of FLASH overlaps the sections you show above.

    -Lori

  • thanks Lori.the automatically generated memory map  xdl file from the template linkcmd.xdt is as following:

    ...

    MEMORY
    {
        PAGE 0: MSARAM : org = 0x0, len = 0x800
        PAGE 1: PIEVECT : org = 0xd00, len = 0x100
        PAGE 0: L03SARAM : org = 0x8000, len = 0x4000
        PAGE 0: L47SARAM : org = 0xc000, len = 0x4000
        PAGE 0: OTP : org = 0x380400, len = 0x400
        PAGE 0: FLASH : org = 0x300000, len = 0x40000
        PAGE 0: BOOTROM : org = 0x3fe000, len = 0x1fc0
    }

    ...

    SECTIONS
    {


        .cio: load >> L47SARAM PAGE 0
        xdc.meta: load >> FLASH PAGE 0, type = COPY
        .text: load >> FLASH PAGE 0
        .taskStackSection: load >> L47SARAM PAGE 0
        .sysmem: load > L03SARAM PAGE 0
        .reset: load >> FLASH PAGE 0
        .bss: load > L03SARAM PAGE 0
        .pinit: load > FLASH PAGE 0
        .cinit: load > FLASH PAGE 0
        .args: load > L03SARAM PAGE 0 align = 0x4, fill = 0 {_argsize = 0x200; }
        .switch: load >> FLASH PAGE 0
        .bootCodeSection: load >> L47SARAM PAGE 0
        .data: load >> L03SARAM PAGE 0
        .ebss: load >> L03SARAM PAGE 0
        .esysmem: load > L03SARAM PAGE 0
        .stack: load > L47SARAM PAGE 0
        .vecs: load >> PIEVECT PAGE 1
        .econst: load >> FLASH PAGE 0
        .const: load > FLASH PAGE 0 START(const_start) SIZE(const_size)

    }

    I know the memory CSM_RSVD overlaps with the automatically generated memory FLASH .but i don't know how to modify the FLASH memory.when i try to click the Tools->RTSC Tools->Platform->Edit/View.there is nothing to happen.my platform is c28xx,someone said that ccsv4.1 doesn't  support Platform->Edit/View with platform  c28xx.so how can i solve the overlap problem.

     

     

  • should i try use xdc script?

    var  Platform = xdc.useModule('ti.platforms.control28335.Platform');

  • Yong,

    I am going to move this thread to the BIOS forum.  They are more familiar with this tool and perhaps can help.

    Regards,

    Lori

  • I solved the problem by building my own platform.http://www.eclipse.org/forums/index.php/t/199087/

    will give you help.