Hi,
I am using TMS320F28035 with CCS V5.2. By some reason, complier is failing to fit data in the target memory. Can someone shed some light please?
This is my error message
"../F28035.cmd", line 124: error: program will not fit into available memory.
placement with alignment/blocking fails for section ".text" size 0x2861 page
0. Available memory ranges:
FLASHA size: 0x1f80 unused: 0x1832 max hole: 0x1832
FLASHB size: 0x2000 unused: 0x2000 max hole: 0x2000
FLASHC size: 0x2000 unused: 0x2000 max hole: 0x2000
.text : { *(.text) } >> (FLASHA | FLASHB | FLASHC) PAGE = 0
Obviously there is enough space if FLASHA to FLASHC combined. Why it can not fit 0x2861 size into 0x1832+0x2000+0x2000 space?
This is the relevant part of linker command file.
MEMORY
{
PAGE 0: /* Program Memory */
/* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE1 for data allocation */
RAML0 : origin = 0x008000, length = 0x000800 /* on-chip RAM block L0 */
RAML1 : origin = 0x008800, length = 0x000400 /* on-chip RAM block L1 */
OTP : origin = 0x3D7800, length = 0x000400 /* on-chip OTP */
FLASHG : origin = 0x3EA000, length = 0x002000 /* on-chip FLASH */
FLASHF : origin = 0x3EC000, length = 0x002000 /* on-chip FLASH */
FLASHE : origin = 0x3EE000, length = 0x002000 /* on-chip FLASH */
FLASHD : origin = 0x3F0000, length = 0x002000 /* on-chip FLASH */
FLASHC : origin = 0x3F2000, length = 0x002000 /* on-chip FLASH */
FLASHB : origin = 0x3F4000, length = 0x002000 /* on-chip FLASH */
FLASHA : origin = 0x3F6000, length = 0x001F80 /* on-chip FLASH */
.
.
.}
SECTIONS
{
/* Allocate program areas: */
.cinit : > FLASHA PAGE = 0
.pinit : > FLASHA, PAGE = 0
.text : { *(.text) } >> (FLASHA | FLASHB | FLASHC) PAGE = 0
.
.
.}