I have defined a large array:
struct data_struc
{
float x0, x1, x2, x3, x4, x5, x6;
} data_array[1000];
----------------------------------------------------
The linker issues an error message:
"../28335_RAM_lnk.cmd", line 131: error: run placement fails for object
".ebss", size 0x3a1b (page 1). Available ranges:
RAML4 size: 0x1000 unused: 0xe1d max hole: 0xe18
RAML5 size: 0x1000 unused: 0x1000 max hole: 0x1000
RAML6 size: 0x1000 unused: 0x1000 max hole: 0x1000
----------------------------------------------------
Line 131 of my "28335_RAM_lnk.cmd" is:
.ebss : >> RAML4|RAML5|RAML6, PAGE = 1
This should be enough for the array (size is 14000 / 0x36B0 words).
----------------------------------------------------
In my map file I see that RAML5 and RAML6 is not even used:
RAML4 0000c000 00001000 000001e3 00000e1d RWIX
RAML5 0000d000 00001000 00000000 00001000 RWIX
RAML6 0000e000 00001000 00000000 00001000 RWIX
So it seems the linker wants to stuff the whole array into RAML4 which is obviously too small.
Thanks
Dina