56 extern uint8_t _estack;
57 extern uint32_t _Min_Stack_Size;
58 const uint32_t stack_limit = (uint32_t)&_estack - (uint32_t)&_Min_Stack_Size;
59 const uint8_t *max_heap = (uint8_t *)stack_limit;
60 uint8_t *prev_heap_end;
63 if (NULL == __sbrk_heap_end)
65 __sbrk_heap_end = &_end;
69 if (__sbrk_heap_end + incr > max_heap)
75 prev_heap_end = __sbrk_heap_end;
76 __sbrk_heap_end += incr;
78 return (
void *)prev_heap_end;