FreeCalypso > hg > fc-selenite
annotate gcc/ld-script.src @ 106:5ba0bee90efa
build system: new configuration naming mechanism
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 23 Jul 2018 16:38:50 +0000 |
parents | 80e3a78126ac |
children | 16703b3fb211 |
rev | line source |
---|---|
82
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 dnl This ld script source is fed through m4 in order to fill in |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 dnl those settings which depend on the configuration. |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 dnl Two include files are fed to m4 before this main body: |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 dnl the appropriate targets/*.m4 file defining the memory config |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 dnl of the hardware, and one of flash.m4 or xram.m4 to select |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 dnl the build type. |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 /* |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 * FreeCalypso Selenite ld script for the Buildmem build |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 */ |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 ENTRY(_Firmware_boot_entry) |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 MEMORY { |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 ifelse(Buildmem-FLASH_BOOT_VIA_BOOTROM,FLASH-1, |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 ` FLASH_OVERLAY : ORIGIN = 0, LENGTH = 0x2000') |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 ifelse(Buildmem,FLASH, |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 ` FLASH : ORIGIN = FLASHIMAGE_BASE_ADDR, |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 LENGTH = CONFIG_FWFLASH_SIZE - FLASHIMAGE_BASE_ADDR') |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 IRAM : ORIGIN = 0x00800000, LENGTH = CONFIG_IRAM_SIZE |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 XRAM : ORIGIN = 0x01000000, LENGTH = CONFIG_XRAM_SIZE |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 } |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 SECTIONS { |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 dnl The following sections exist only in the flashImage build, |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 dnl and only on targets that use the Calypso boot ROM. |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 ifelse(Buildmem-FLASH_BOOT_VIA_BOOTROM,FLASH-1, |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 ` /* Part of flash overlaid by the boot ROM */ |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 bootrom.overlay 0 : { |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 *(bootrom.overlay) |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 } > FLASH_OVERLAY |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 /* code that enables the boot ROM and jumps to it */ |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 bootrom.switch : { |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 *(bootrom.switch) |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 } > IRAM AT> FLASH_OVERLAY |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 __romswitch_ram_addr = ADDR(bootrom.switch); |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 __romswitch_flash_addr = LOADADDR(bootrom.switch); |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 __romswitch_size = SIZEOF(bootrom.switch); |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 ')dnl |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 |
84
32bcc299ef55
gcc/ld-script.src: additional polish
Mychaela Falconia <falcon@freecalypso.org>
parents:
82
diff
changeset
|
42 define(`INTTEXT_BASE_ADDR', |
32bcc299ef55
gcc/ld-script.src: additional polish
Mychaela Falconia <falcon@freecalypso.org>
parents:
82
diff
changeset
|
43 ifelse(Buildmem,FLASH,FLASHIMAGE_BASE_ADDR,`/* no fixed address */'))dnl |
32bcc299ef55
gcc/ld-script.src: additional polish
Mychaela Falconia <falcon@freecalypso.org>
parents:
82
diff
changeset
|
44 |
82
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 /* boot entry code, going into flash or XRAM emulating flash */ |
84
32bcc299ef55
gcc/ld-script.src: additional polish
Mychaela Falconia <falcon@freecalypso.org>
parents:
82
diff
changeset
|
46 .inttext INTTEXT_BASE_ADDR : { |
82
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 *(.inttext) |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 } > Buildmem |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 /* copy-to-IRAM code */ |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 iram.text 0x80001C : { |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 /* the 7 exception and interrupt vectors @ 0x80001C */ |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 *(.ramvecs) |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 *_ir.a:(.text*) |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 *_int.a:(.text*) |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 *_intram.a:(.text*) |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 *osx_na7_db.a:(.text*) |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 *tpudrv.a:(.text*) |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 *drivers_flash.a:niq32.o(.text*) |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 *sim_drv.a:sim32.o(.text*) |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 *libc.a:(.text*) |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 *libgcc.a:(.text*) |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 } > IRAM Put_in_flash |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 ifelse(Buildmem,FLASH, |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 ` __iramtext_ram_addr = ADDR(iram.text); |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 __iramtext_flash_addr = LOADADDR(iram.text); |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 __iramtext_size = SIZEOF(iram.text); |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 ')dnl |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 /* XIP code, going into flash or XRAM emulating flash */ |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 xip.text : { |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 *(.text*) |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 /* let's put the ARM->Thumb veneers in the XIP section */ |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 *(.glue_7) |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 } > Buildmem |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 /* all .rodata will stay in flash */ |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 .rodata : { |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 *(.rodata*) |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 } > Buildmem |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 |
97
80e3a78126ac
gcc/ld-script.src: .bss_dar moved to the beginning of XRAM
Mychaela Falconia <falcon@freecalypso.org>
parents:
84
diff
changeset
|
82 .bss_dar (NOLOAD) : { |
80e3a78126ac
gcc/ld-script.src: .bss_dar moved to the beginning of XRAM
Mychaela Falconia <falcon@freecalypso.org>
parents:
84
diff
changeset
|
83 *dar_gbl_var.a:(.bss* COMMON) |
80e3a78126ac
gcc/ld-script.src: .bss_dar moved to the beginning of XRAM
Mychaela Falconia <falcon@freecalypso.org>
parents:
84
diff
changeset
|
84 } > XRAM |
80e3a78126ac
gcc/ld-script.src: .bss_dar moved to the beginning of XRAM
Mychaela Falconia <falcon@freecalypso.org>
parents:
84
diff
changeset
|
85 |
82
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 /* |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 * All .data will go into XRAM. |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 * For the flash build we'll have a step that copies |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 * the .data section from flash to XRAM; for the RAM-only |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 * build it goes directly into XRAM and stays there. |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 */ |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 .data : { |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 *(.data*) |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 } > XRAM Put_in_flash |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 ifelse(Buildmem,FLASH, |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 ` __initdata_ram_addr = ADDR(.data); |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 __initdata_flash_addr = LOADADDR(.data); |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 __initdata_size = SIZEOF(.data); |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 ')dnl |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 /* we have two kinds of BSS: internal and external */ |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 int.bss (NOLOAD) : { |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 *(.l1s_global) |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 *_ir.a:(.bss* COMMON) |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 *_int.a:(.bss* COMMON) |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 *_intram.a:(.bss* COMMON) |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 *osx_na7_db.a:(.bss* COMMON) |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 *tpudrv.a:(.bss* COMMON) |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 *libc.a:(.bss* COMMON) |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 *libgcc.a:(.bss* COMMON) |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 *(.API_HISR_stack) |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 . = ALIGN(4); |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 } > IRAM |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 __intbss_start = ADDR(int.bss); |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 __intbss_size = SIZEOF(int.bss); |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 ext.bss (NOLOAD) : { |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 *(.bss* COMMON) |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 . = ALIGN(4); |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 } > XRAM |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 __extbss_start = ADDR(ext.bss); |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 __extbss_size = SIZEOF(ext.bss); |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 |
84
32bcc299ef55
gcc/ld-script.src: additional polish
Mychaela Falconia <falcon@freecalypso.org>
parents:
82
diff
changeset
|
124 int.stack (NOLOAD) : ALIGN(8) { |
32bcc299ef55
gcc/ld-script.src: additional polish
Mychaela Falconia <falcon@freecalypso.org>
parents:
82
diff
changeset
|
125 /* Beginning of stacks and heap area - 2.75 kbytes (int.s) */ |
32bcc299ef55
gcc/ld-script.src: additional polish
Mychaela Falconia <falcon@freecalypso.org>
parents:
82
diff
changeset
|
126 _Stack_segment_start = .; |
32bcc299ef55
gcc/ld-script.src: additional polish
Mychaela Falconia <falcon@freecalypso.org>
parents:
82
diff
changeset
|
127 . += 0xB00; |
32bcc299ef55
gcc/ld-script.src: additional polish
Mychaela Falconia <falcon@freecalypso.org>
parents:
82
diff
changeset
|
128 _Stack_segment_end = .; |
82
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 |
84
32bcc299ef55
gcc/ld-script.src: additional polish
Mychaela Falconia <falcon@freecalypso.org>
parents:
82
diff
changeset
|
130 _iram_end = .; |
32bcc299ef55
gcc/ld-script.src: additional polish
Mychaela Falconia <falcon@freecalypso.org>
parents:
82
diff
changeset
|
131 } > IRAM |
32bcc299ef55
gcc/ld-script.src: additional polish
Mychaela Falconia <falcon@freecalypso.org>
parents:
82
diff
changeset
|
132 |
32bcc299ef55
gcc/ld-script.src: additional polish
Mychaela Falconia <falcon@freecalypso.org>
parents:
82
diff
changeset
|
133 ext.stack (NOLOAD) : ALIGN(8) { |
82
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 /* Stack for abort and/or undefined modes. */ |
84
32bcc299ef55
gcc/ld-script.src: additional polish
Mychaela Falconia <falcon@freecalypso.org>
parents:
82
diff
changeset
|
135 . += 512; |
82
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 _Except_Stack_SP = .; |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 /* Leave 38 32bit words for state saving on exceptions. */ |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 xdump_buffer = .; |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 . += 38 * 4; |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141 |
84
32bcc299ef55
gcc/ld-script.src: additional polish
Mychaela Falconia <falcon@freecalypso.org>
parents:
82
diff
changeset
|
142 _xram_end = .; |
82
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
143 } > XRAM |
6afaa5cb7392
linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
144 } |