diff options
Diffstat (limited to 'bsp/coreip-e31-arty')
-rw-r--r-- | bsp/coreip-e31-arty/mee.lds | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/bsp/coreip-e31-arty/mee.lds b/bsp/coreip-e31-arty/mee.lds index c081d9f..7b28478 100644 --- a/bsp/coreip-e31-arty/mee.lds +++ b/bsp/coreip-e31-arty/mee.lds @@ -20,7 +20,8 @@ PHDRS SECTIONS { - __stack_size = DEFINED(__stack_size) ? __stack_size : 0x800; + __stack_size = DEFINED(__stack_size) ? __stack_size : 0x400; + __heap_size = DEFINED(__heap_size) ? __heap_size : 0x400; .init : @@ -200,18 +201,26 @@ SECTIONS PROVIDE( _end = . ); PROVIDE( end = . ); PROVIDE( mee_segment_bss_target_end = . ); - PROVIDE( mee_segment_heap_target_start = . ); - .stack ORIGIN(ram) + LENGTH(ram) - __stack_size : + .stack : { - PROVIDE( mee_segment_heap_target_end = . ); - PROVIDE( _heap_end = . ); + PROVIDE(mee_segment_stack_begin = .); . = __stack_size; PROVIDE( _sp = . ); PROVIDE(mee_segment_stack_end = .); } >ram AT>ram :ram + .heap : + { + PROVIDE( mee_segment_heap_target_start = . ); + . = __heap_size; + . = __heap_size == 0 ? 0 : ORIGIN(ram) + LENGTH(ram); + PROVIDE( mee_segment_heap_target_end = . ); + PROVIDE( _heap_end = . ); + } >ram AT>ram :ram + + } |