fk0легенда (12.10.2013 12:37, просмотров: 103) ответил VVB на Объясните про newlib
sp стек, end -- конец сегмента bss, над которым heap, а выше стек растущий вниз (heap растёт ввех).
extern char __bss_end__[]; /* это end */
extern char __stack_bottom[]; /* это sp, но sp использовать некорректно, нужно ж и на стек что-то оставить... */
static char *heap_ptr;
void *_sbrk_r(struct _reent *_s_r, ptrdiff_t nbytes)
{
char *base;
if (!heap_ptr)
heap_ptr = __bss_end__;
base = heap_ptr;
/* FIXME address range for different type of MCU */
if (heap_ptr + nbytes > __stack_bottom[])
return (void *) -1;
heap_ptr += nbytes;
return base;
}
[ZX]