Thank You very much!
But is some additive issues for this.
If We use memalloc, getmem and etc... we will have problems after change stack to CCM, because function _sbr from syscalls.c is not correct developed. OMG!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
caddr_t _sbrk(int incr)
extern char end asm(“end”);
static char *heap_end;
if (heap_end == 0)
heap_end = &end;
prev_heap_end = heap_end;
if (heap_end + incr > stack_ptr)
// write(1, “Heap and stack collision\n”, 25);
errno = ENOMEM;
return (caddr_t) -1;
heap_end += incr;
return (caddr_t) prev_heap_end;
// where stack_ptr is alias for SP register
Heap end compared with current SP!!! OMG!!! program with this _sbr() can work only if you have exceed memory...
ST developers! please do someting ;)