In my linker script file, I have defined two symbols
define symbol _region_RAM_start__ = 0xC0000000;
define symbol _region_RAM_end__ = 0xC00fffff;
Below code should works as expected:
extern const volatile unsigned int _region_RAM_start__;
extern const volatile unsigned int _region_RAM_end__;
....
int GetRAMSize()
{
int size = 0;
unsigned int address_1 = &_region_RAM_start__;
unsigned int address_2 = &_region_RAM_end__;
size = address_2 - address_1 + 1U;
return size;
}