FreeCalypso > hg > fc-selenite
comparison gcc/ld-script.src @ 84:32bcc299ef55
gcc/ld-script.src: additional polish
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 20 Jul 2018 19:36:25 +0000 |
parents | 6afaa5cb7392 |
children | 80e3a78126ac |
comparison
equal
deleted
inserted
replaced
83:92fde62400ef | 84:32bcc299ef55 |
---|---|
37 __romswitch_ram_addr = ADDR(bootrom.switch); | 37 __romswitch_ram_addr = ADDR(bootrom.switch); |
38 __romswitch_flash_addr = LOADADDR(bootrom.switch); | 38 __romswitch_flash_addr = LOADADDR(bootrom.switch); |
39 __romswitch_size = SIZEOF(bootrom.switch); | 39 __romswitch_size = SIZEOF(bootrom.switch); |
40 ')dnl | 40 ')dnl |
41 | 41 |
42 define(`INTTEXT_BASE_ADDR', | |
43 ifelse(Buildmem,FLASH,FLASHIMAGE_BASE_ADDR,`/* no fixed address */'))dnl | |
44 | |
42 /* boot entry code, going into flash or XRAM emulating flash */ | 45 /* boot entry code, going into flash or XRAM emulating flash */ |
43 .inttext : { | 46 .inttext INTTEXT_BASE_ADDR : { |
44 *(.inttext) | 47 *(.inttext) |
45 } > Buildmem | 48 } > Buildmem |
46 | 49 |
47 /* copy-to-IRAM code */ | 50 /* copy-to-IRAM code */ |
48 iram.text 0x80001C : { | 51 iram.text 0x80001C : { |
116 . = ALIGN(4); | 119 . = ALIGN(4); |
117 } > XRAM | 120 } > XRAM |
118 __extbss_start = ADDR(ext.bss); | 121 __extbss_start = ADDR(ext.bss); |
119 __extbss_size = SIZEOF(ext.bss); | 122 __extbss_size = SIZEOF(ext.bss); |
120 | 123 |
121 .stack (NOLOAD) : { | 124 int.stack (NOLOAD) : ALIGN(8) { |
122 /* Leave 20 32bit words for register pushes. */ | 125 /* Beginning of stacks and heap area - 2.75 kbytes (int.s) */ |
123 . = ALIGN(8); | 126 _Stack_segment_start = .; |
124 . += 20 * 4; | 127 . += 0xB00; |
128 _Stack_segment_end = .; | |
125 | 129 |
130 _iram_end = .; | |
131 } > IRAM | |
132 | |
133 ext.stack (NOLOAD) : ALIGN(8) { | |
126 /* Stack for abort and/or undefined modes. */ | 134 /* Stack for abort and/or undefined modes. */ |
135 . += 512; | |
127 _Except_Stack_SP = .; | 136 _Except_Stack_SP = .; |
128 | 137 |
129 /* Leave 38 32bit words for state saving on exceptions. */ | 138 /* Leave 38 32bit words for state saving on exceptions. */ |
130 xdump_buffer = .; | 139 xdump_buffer = .; |
131 . += 38 * 4; | 140 . += 38 * 4; |
132 . = ALIGN(8); | |
133 | 141 |
134 /* Beginning of stacks and heap area - 2.75 kbytes (int.s) */ | 142 _xram_end = .; |
135 _Stack_segment_start = .; | |
136 . += 0xB00; | |
137 _Stack_segment_end = .; | |
138 } > XRAM | 143 } > XRAM |
139 } | 144 } |