diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-06-19 15:10:36 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-06-27 08:58:16 +0200 |
commit | 715d6167e07a46f5bc37f42993c209450484bbe8 (patch) | |
tree | a2b7b713ecfe5d6bbe80db74f79dfeba62e64a8b /bsps/sh | |
parent | c8df844cf3bddde0221614843c97cb6c950cdba9 (diff) |
bsps: Support .rtemsstack.* linker input sections
Use a dedicated memory region or place it between the BSS and workspace.
Update #3459.
Diffstat (limited to 'bsps/sh')
-rw-r--r-- | bsps/sh/gensh1/start/linkcmds | 4 | ||||
-rw-r--r-- | bsps/sh/gensh2/start/linkcmds | 4 | ||||
-rw-r--r-- | bsps/sh/gensh2/start/linkcmds.ram | 5 | ||||
-rw-r--r-- | bsps/sh/gensh2/start/linkcmds.rom | 4 | ||||
-rw-r--r-- | bsps/sh/gensh4/start/linkcmds | 10 | ||||
-rw-r--r-- | bsps/sh/gensh4/start/linkcmds.rom | 5 | ||||
-rw-r--r-- | bsps/sh/gensh4/start/linkcmds.rom2ram | 5 | ||||
-rw-r--r-- | bsps/sh/shsim/start/linkcmds | 4 |
8 files changed, 34 insertions, 7 deletions
diff --git a/bsps/sh/gensh1/start/linkcmds b/bsps/sh/gensh1/start/linkcmds index d268d4cfc7..bb190f8c5a 100644 --- a/bsps/sh/gensh1/start/linkcmds +++ b/bsps/sh/gensh1/start/linkcmds @@ -188,6 +188,10 @@ SECTIONS _WorkAreaBase = . ; + .rtemsstack (NOLOAD) : { + *(SORT(.rtemsstack.*)) + } > onchip_ram + _CPU_Interrupt_stack_low = 0x0f000000 ; _CPU_Interrupt_stack_high = _CPU_Interrupt_stack_low + 4096 ; diff --git a/bsps/sh/gensh2/start/linkcmds b/bsps/sh/gensh2/start/linkcmds index 2c4d44a941..e6db97e0c3 100644 --- a/bsps/sh/gensh2/start/linkcmds +++ b/bsps/sh/gensh2/start/linkcmds @@ -199,6 +199,10 @@ SECTIONS _WorkAreaBase = . ; + .rtemsstack (NOLOAD) : { + *(SORT(.rtemsstack.*)) + } > onchip_ram + _CPU_Interrupt_stack_low = 0xFFFFF000; _CPU_Interrupt_stack_high = 0xFFFFFFFF; diff --git a/bsps/sh/gensh2/start/linkcmds.ram b/bsps/sh/gensh2/start/linkcmds.ram index c5349398ff..8b53cd4f39 100644 --- a/bsps/sh/gensh2/start/linkcmds.ram +++ b/bsps/sh/gensh2/start/linkcmds.ram @@ -200,7 +200,10 @@ SECTIONS PROVIDE (end = .); _WorkAreaBase = . ; - . = 0x00480000 ; + + .rtemsstack (NOLOAD) : { + *(SORT(.rtemsstack.*)) + } > onchip_ram _CPU_Interrupt_stack_low = 0xFFFFF000; _CPU_Interrupt_stack_high = 0xFFFFFFFF; diff --git a/bsps/sh/gensh2/start/linkcmds.rom b/bsps/sh/gensh2/start/linkcmds.rom index 4934c10269..9f50cd7e64 100644 --- a/bsps/sh/gensh2/start/linkcmds.rom +++ b/bsps/sh/gensh2/start/linkcmds.rom @@ -206,6 +206,10 @@ SECTIONS _WorkAreaBase = . ; + .rtemsstack (NOLOAD) : { + *(SORT(.rtemsstack.*)) + } > onchip_ram + _CPU_Interrupt_stack_low = 0xFFFFF000; _CPU_Interrupt_stack_high = 0xFFFFFFFF; diff --git a/bsps/sh/gensh4/start/linkcmds b/bsps/sh/gensh4/start/linkcmds index de6bb05693..21e0fdc5c9 100644 --- a/bsps/sh/gensh4/start/linkcmds +++ b/bsps/sh/gensh4/start/linkcmds @@ -144,11 +144,14 @@ SECTIONS __bss_end = .; } > ram - .stack . : { + .stack : { . = . + 4096; - } + } > ram + + .rtemsstack (NOLOAD) : { + *(SORT(.rtemsstack.*)) + } > ram - . = ALIGN(16); _WorkAreaBase = . ; . = ALIGN(16); @@ -188,6 +191,5 @@ SECTIONS .debug_funcnames 0 : { *(.debug_funcnames) } .debug_typenames 0 : { *(.debug_typenames) } .debug_varnames 0 : { *(.debug_varnames) } - .stack : { _stack = .; *(.stack) } /* These must appear regardless of . */ } diff --git a/bsps/sh/gensh4/start/linkcmds.rom b/bsps/sh/gensh4/start/linkcmds.rom index 13c6096af1..5e37f06941 100644 --- a/bsps/sh/gensh4/start/linkcmds.rom +++ b/bsps/sh/gensh4/start/linkcmds.rom @@ -187,7 +187,10 @@ SECTIONS __bss_end = .; } > ram - . = ALIGN(16); + .rtemsstack (NOLOAD) : { + *(SORT(.rtemsstack.*)) + } > ram + _WorkAreaBase = . ; . = ALIGN(16); diff --git a/bsps/sh/gensh4/start/linkcmds.rom2ram b/bsps/sh/gensh4/start/linkcmds.rom2ram index cc14d4e98d..2fff0d1f98 100644 --- a/bsps/sh/gensh4/start/linkcmds.rom2ram +++ b/bsps/sh/gensh4/start/linkcmds.rom2ram @@ -190,7 +190,10 @@ SECTIONS *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*) *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) } >ram - . = ALIGN(16); + + .rtemsstack (NOLOAD) : { + *(SORT(.rtemsstack.*)) + } > ram _WorkAreaBase = . ; diff --git a/bsps/sh/shsim/start/linkcmds b/bsps/sh/shsim/start/linkcmds index 41c7245da0..932d94161f 100644 --- a/bsps/sh/shsim/start/linkcmds +++ b/bsps/sh/shsim/start/linkcmds @@ -209,6 +209,10 @@ SECTIONS } > ram _stack = .; + .rtemsstack (NOLOAD) : { + *(SORT(.rtemsstack.*)) + } > ram + _WorkAreaBase = . ; _CPU_Interrupt_stack_low = 0x00080000 ; |