I ran out of both program and data space in my project (.text and .ebss sections could not be allocated), and so after reading this thread I have combined RAML1 and RAML2 in program space and RAML4 and RAML5 in data space to give me big enough blocks to allocate these two sections. My linker command file now looks like this:
MEMORY
{
PAGE 0 :
...
RAML1 : origin = 0x009000, length = 0x002000
//RAML2 : origin = 0x00A000, length = 0x001000
...
PAGE 1 :
...
RAML4 : origin = 0x00C000, length = 0x002000
//RAML5 : origin = 0x00D000, length = 0x001000
}
SECTIONS
{
...
.text : > RAML1, PAGE = 0
...
.ebss : > RAML4, PAGE = 1
.econst : > RAML4, PAGE = 1
...
}
The project now builds fine. My question is, is this an acceptable solution? If so, why is the memory broken down into small blocks in the first place?
Thanks,
Dave