• Resolved

Compiler/TMS320F28035: Linker file explanation

Prodigy 200 points

Replies: 4

Views: 91

Part Number: TMS320F28035

Tool/software: TI C/C++ Compiler

Can anyone help me to understand this linker file section?

progRAM : origin = 0x008000, length = 0x001400 /* on-chip RAM (L0-L2)*/
OTP : origin = 0x3D7800, length = 0x000400 /* on-chip OTP */
FLASHH : origin = 0x3E8000, length = 0x008000 /* on-chip FLASH */

/* Allocate program areas: */
/* Initalized sections go in Flash */
/* For SDFlash to program these, they must be allocated to page 0 */
.econst : > FLASHH PAGE = 0
.switch : > FLASHH PAGE = 0

/* Allocate IQ math areas: */
IQmath : > FLASHH PAGE = 0 /* Math Code */

.cinit : > FLASHH, PAGE = 0
.pinit : > FLASHH, PAGE = 0
//.text : > FLASHH, PAGE = 0
/*For CRC tables */
.TI.crctab : > APPCRC, PAGE=0
.text : > FLASHH, PAGE=0, crc_table(_linkerCRC,algorithm=CRC32_PRIME )

codestart : > BEGIN PAGE = 0
ramfuncs : LOAD = FLASHH,
RUN = progRAM,
LOAD_START(_RamfuncsLoadStart),
LOAD_END(_RamfuncsLoadEnd),
RUN_START(_RamfuncsRunStart),
PAGE = 0

Here my entire code is in FLASHH. I defined .cinit., .init as part of the FLASHH.

I have some functions which need to be run from RAM. So I defined those as ramfuncs. 

Is there anything wrong with this? 

"ramfuncs : LOAD = FLASHH" what does this mean? Does it place entire FLASHH on ram?