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