diff options
author | Nathaniel Graff <nathaniel.graff@sifive.com> | 2019-01-29 19:08:02 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-29 19:08:02 +0000 |
commit | 9788f625d21ab5a7027f90283cf52cc398834580 (patch) | |
tree | 27eddfadf4714ef761ab1bc91c56e83888a81ed0 /bsp/sifive-hifive1 | |
parent | c5846a3635ba160d39a620e527d2ec4715b1c59a (diff) | |
parent | 15bb22f7ed93038a2e7256726b27bf0e45cb4dfe (diff) |
Merge pull request #162 from sifive/heap-improvements
Improvements to dynamic memory allocation
Diffstat (limited to 'bsp/sifive-hifive1')
-rw-r--r-- | bsp/sifive-hifive1/mee.lds | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/bsp/sifive-hifive1/mee.lds b/bsp/sifive-hifive1/mee.lds index 0e0a302..1c894ee 100644 --- a/bsp/sifive-hifive1/mee.lds +++ b/bsp/sifive-hifive1/mee.lds @@ -19,7 +19,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 : @@ -199,18 +200,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 + + } |