Shared RAM areas
Multicore devices and some single-core devices have a RAM memory layout where two logical memory areas represent one and the same physical memory. For single-core devices these areas are called Local RAM (mirror) and Local RAM, and for multicore devices they are called Local RAM (self) and Local RAM (CPU n). In the linker configuration files, the amount of available RAM is split 50/50 between these areas.
Caution
To override this division in the IDE, choose Project>Options>General Options>Target and modify the option Local RAM (self) area size. The remaining RAM will be allocated to Local RAM or Local RAM (CPU n), respectively.
Danger
To override this division from the command line, you can set the symbol _SELF_SIZE using the linker option --config_def, see ‑‑config_def.
If not all cores in a multicore system have the same maximum size of Local RAM (self), the value of _SELF_SIZE is not allowed to exceed the size of the smallest Local RAM (self) area.
Note
The stack section is located in the Local RAM (self/mirror) area; if you override the default division of shared RAM, make sure to allocate enough space for the stack.