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