mbed library sources(for async_print)
Fork of mbed-src by
Diff: common/retarget.cpp
- Revision:
- 23:8d50de55f208
- Parent:
- 20:4263a77256ae
- Child:
- 24:75304dd5f5fb
diff -r dbd009839d5e -r 8d50de55f208 common/retarget.cpp --- a/common/retarget.cpp Fri Sep 13 14:22:58 2013 +0100 +++ b/common/retarget.cpp Mon Sep 16 16:15:04 2013 +0100 @@ -439,13 +439,20 @@ #undef errno extern "C" int errno; +// For ARM7 only +register unsigned char * stack_ptr __asm ("sp"); + // Dynamic memory allocation related syscall. extern "C" caddr_t _sbrk(int incr) { static unsigned char* heap = (unsigned char*)&__end__; unsigned char* prev_heap = heap; unsigned char* new_heap = heap + incr; +#ifdef __get_MSP if (new_heap >= (unsigned char*)__get_MSP()) { +#else + if (new_heap >= stack_ptr) { +#endif errno = ENOMEM; return (caddr_t)-1; }