Hello,
I built a very simple application for TMSF28335 using Code Composer 5.2.0.00069.
I created an empty project for this DSP and used 28335_RAM_lnk.cmd with no changes.
The code is:
#include "stdio.h"
int main (void)
{
int x;
printf ("Hello\n");
}
Upon end of build I got the following error:
"C:/tidcs/c28/DSP2833x/v131/DSP2833x_common/cmd/28335_RAM_lnk.cmd", line 125: error #10099-D: program will not fit into available memory. placement with alignment/blocking fails for section ".text" size 0x18f5 page 0. Available memory ranges:
RAML1 size: 0x1000 unused: 0x1000 max hole: 0x1000
error #10010: errors encountered during linking; "Image.out" not built
gmake: *** [Image.out] Error 1
gmake: Target `all' not remade because of errors.
**** Build Finished ****
According to map file:
output attributes/
section page origin length input sections
-------- ---- ---------- ---------- ----------------
.text 0 00000000 000018f6 FAILED TO ALLOCATE
.pinit 0 00008000 00000000 UNINITIALIZED
....
But accordind to the cmd file:
codestart : > BEGIN, PAGE = 0
ramfuncs : > RAML0, PAGE = 0
.text : > RAML1, PAGE = 0
.cinit : > RAML0, PAGE = 0
.....
The .text region consumes 0x1816 bytes but it is defined: > RAML1
So the maximum available size is: 0x1000 x 3 = 0x4000 bytes
RAML0 : origin = 0x008000, length = 0x001000
RAML1 : origin = 0x009000, length = 0x001000
RAML2 : origin = 0x00A000, length = 0x001000
RAML3 : origin = 0x00B000, length = 0x001000
What is the reason linker can not place .text at areas higher than 0x9000 ?
Thanks,
Zvika