123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- #include "r_bsp_config.h"
- #if (BSP_CFG_HEAP_BYTES > 0)
- #include "platform.h"
- #if (BSP_CFG_STARTUP_DISABLE == 0)
- #if defined(__CCRX__) || defined(__GNUC__)
- int8_t *sbrk(size_t size);
- #if defined(__GNUC__)
- int8_t *_top_of_heap(void);
- #endif
- extern int8_t *_s1ptr;
- union HEAP_TYPE
- {
- int32_t dummy;
- int8_t heap[BSP_CFG_HEAP_BYTES];
- };
- static union HEAP_TYPE heap_area;
- static int8_t *brk=(int8_t *)&heap_area;
- #if defined(__GNUC__)
- int8_t *_heap_of_memory=(int8_t *)&heap_area;
- int8_t *_last_heap_object=(int8_t *)&heap_area;
- #endif
- int8_t *sbrk(size_t size)
- {
- int8_t *p;
- if ((brk + size) > (heap_area.heap + BSP_CFG_HEAP_BYTES))
- {
-
- p = (int8_t *)-1;
- }
- else
- {
-
- p = brk;
-
- brk += size;
- }
-
- return p;
- }
- #if defined(__GNUC__)
- int8_t *_top_of_heap(void)
- {
- return (int8_t *)(heap_area.heap + BSP_CFG_HEAP_BYTES);
- }
- #endif
- #endif
- #endif
- #endif
|