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/TMS320F28035: How set the MEMORY and SECTIONS in CCS

Part Number: TMS320F28035

Tool/software: Code Composer Studio

I am taking over an old project using makefile.

I downloaded CCS8.2, and gladly found out it is Eclipse based.

So I had no problem to get all the file loaded and compiled and linked and get the .out file. 

(The previous programmer was using cygwin to run make, and I was going to try eclipse, and now thanks CCS!)

It includes assembly .s files and .c files.

Now I am trying to move away from makefile. So I created an empty project in CCS and copied all the files in to the project fold.

Compiling no problem, but linking failed.

This is the error

warning #10247-D: creating output section "CLAmathTables" without a SECTIONS specification
warning #10247-D: creating output section "ClaProg" without a SECTIONS specification
warning #10247-D: creating output section "ClaToCpuMsgRAM" without a SECTIONS specification
warning #10247-D: creating output section "CpuToClaMsgRAM" without a SECTIONS specification
warning #10247-D: creating output section "secureRamFuncs" without a SECTIONS specification
warning #10247-D: creating output section "version" without a SECTIONS specification
"../28035_RAM_lnk.cmd", line 120: error #10099-D: placement fails for object ".text", size 0x3539 (page 0). Available ranges: RAML0L1 size: 0xc00 unused: 0xc00 max hole: 0xc00

I found that the old makefile used a lnk2000.rc file to set the memory sections.

This is the lnk2000.rc file:

MEMORY {
    PAGE 0:
	LXSARAM:    origin = 0x008000  length = 0x000c00
	L2SARAM:    origin = 0x008c00  length = 0x000400
	L3SARAM:    origin = 0x009000  length = 0x001000
	PROGRAM:    origin = 0x3e8002  length = 0x005f8e
	CONFIG:     origin = 0x3ee000  length = 0x006000
	CSM_RSVD:   origin = 0x3f7f80  length = 0x000076
	CODESTART:  origin = 0x3e8000  length = 0x000002
	PASSWD:     origin = 0x3f7ff8  length = 0x000008
	IQTABLES:   origin = 0x3fe000  length = 0x000b50
	VERSION:    origin = 0x3edf90  length = 0x000070
    PAGE 1:
	MSARAM:     origin = 0x000040  length = 0x0007c0
    PIEVECT:    origin = 0x000D00  length = 0x000100
	CLA_MSGRAMLOW: origin = 0x001480, length = 0x000080
    CLA_MSGRAMHIGH: origin = 0x001500, length = 0x000080
}

SECTIONS {
    /* Sections generated by the Assembler */
    .data:    > PROGRAM    PAGE = 0
    /* Sections generated by the C compiler */
    .cinit:   > PROGRAM    PAGE = 0
    .const:   > PROGRAM    PAGE = 0
    .econst:  > PROGRAM    PAGE = 0
    .pinit:   > PROGRAM    PAGE = 0
    .text:    > PROGRAM    PAGE = 0
    .bss:     > MSARAM     PAGE = 1
    .ebss:    > LXSARAM    PAGE = 0
    .stack:   > MSARAM     PAGE = 1
    .sysmem:  >	MSARAM     PAGE = 1
    .esysmem: > MSARAM     PAGE = 1
    .switch:  > PROGRAM    PAGE = 0
    .reset:   > PROGRAM    PAGE = 0 TYPE = DSECT
    /* Sections declared by the user */
    version:  > VERSION    PAGE = 0
    passwd:   > PASSWD     PAGE = 0
    vectors:  > PROGRAM    PAGE = 0
    codestart:> CODESTART  PAGE = 0
    csm_rsvd: > CSM_RSVD   PAGE = 0
    /* Section ramfuncs used by flashInit () in flash.c */ 
    secureRamFuncs: 
	 LOAD = PROGRAM,
         RUN  = LXSARAM,
         LOAD_START(_secureRamFuncsLoadStart),
         LOAD_END(_secureRamFuncsLoadEnd),
         RUN_START(_secureRamFuncsRunStart),
         PAGE = 0

    ClaProg:
         LOAD = PROGRAM,
         RUN = L3SARAM,
         LOAD_START(_claFuncsLoadStart),
         LOAD_END(_claFuncsLoadEnd),
         RUN_START(_claFuncsRunStart),
         PAGE = 0

    CLAmathTables:
	 LOAD = PROGRAM,
	 RUN = L2SARAM
	 LOAD_START(_claMathTablesLoadStart),
	 LOAD_END(_claMathTablesLoadEnd),
	 RUN_START(_claMathTablesRunStart),
	 PAGE = 0

    ClaToCpuMsgRAM: > CLA_MSGRAMLOW, PAGE = 1
    CpuToClaMsgRAM: > CLA_MSGRAMHIGH, PAGE = 1
    IQmath:	> PROGRAM PAGE = 0
    IQmathTables: > IQTABLES, PAGE = 0, TYPE = NOLOAD
}

My question is, is it possible do do these memory arrangement in CCS project settings?

So that we do need to use .rc file in the future.

Thanks

Paul