1 /* mbed Microcontroller Library - stackheap
2 * Copyright (C) 2009-2011 ARM Limited. All rights reserved.
4 * Setup a fixed single stack/heap memory model,
5 * between the top of the RW/ZI region and the stackpointer
15 extern char Image$$RW_IRAM1$$ZI$$Limit
[];
17 extern __value_in_regs
struct __initial_stackheap
__user_setup_stackheap(uint32_t R0
, uint32_t R1
, uint32_t R2
, uint32_t R3
) {
18 uint32_t zi_limit
= (uint32_t)Image$$RW_IRAM1$$ZI$$Limit
;
19 uint32_t sp_limit
= __current_sp();
21 zi_limit
= (zi_limit
+ 7) & ~0x7; // ensure zi_limit is 8-byte aligned
23 struct __initial_stackheap r
;
24 r
.heap_base
= zi_limit
;
25 r
.heap_limit
= sp_limit
;