While system configuration it should be determined if the system should use the whole RAM memory or only the limited area. It is defined by OS_INTERNAL_MEMORY_SIZE.

If the whole area will be used the OS_INTERNAL_MEMORY_SIZE should be set for 0 and this time a system will use stMemAlloc and stMemFree functions to allocate and release memory, so the memory will be allocated in user area. This configuration is recommended only when it is sure that memory leak in user program will not occur, as it may damage system data.

The system can use an individual memory pool. Therefore its size should be determined in OS_INTERNAL_MEMORY_SIZE. It will be created a global buffer, available for the system only where memory allocation and release operations will be performed.

In both cases a memory management of Standard Library must be enabled, by setting value of ST_USE_MEMORY to 1. Constant OS_INTERNAL_MEMORY_SIZE is ignored if the value of OS_USE_FIXMEM_POOLS is set for 1.

SpaceShadow documentation