I have a SYS/BIOS, CCS v4.2 project and want to place some variables in shared memory (SL2RAM, which starts at address 0x00200000). However, to ensure proper memory alignment, for efficiency reasons, I want to make sure that arrays start at locations that are multiples of 128, and single variables can be placed anywhere (preferably after the arrays).
I thought I could achieve that by defining memory ranges in the MEMORY part of the linker command file, like this
MEMORY
{
Custom_SL2: o = 0x00200080 l = 0x00000080 /*will start at multiple of 128*/
}
SECTIONS
{
"Aligned_Loc" > Custom_SL2
}
and in the code,
#pragma DATA_SECTION(myVar, "Aligned_Loc")
However, I get an error saying
Custom_SL2 memory range overlaps existing memory range SL2RAM
I understand that it overlaps, but isn't that the point of defining custom memory segments? In a non-BIOS project, you are apparently free to lay out memory however you like. Do you a way around this restriction with SYS/BIOS?
Thanks,
Andrey