Details
Description
Starting the CIP Sync feature (including PTP stack and CIP Time Sync object) requires about 13kB of heap memory. Due to the internal memory allocation handling, this amount of memory cannot be allocated under certain conditions (allthough enough memory is available as reported by mallinfo() ).
Reason:
Malloc() manages an “arena”, that is increased if needed by the rcX system call of sbrk(). It can be increased until the heap memory is exhausted.
The used threshold value is set hard coded inside the newlib and therefore is not adaptable. The threshold is currently set to 4096 byte. This means that up to 4095 bytes of the actually free heap memory are not usable by malloc().