use STM32F4 CCM memory for the stack and the heap
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;
char *prev_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);
// abort();
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 ;)