annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
6afaa5cb7392 linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
82 /*
6afaa5cb7392 linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83 * 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
84 * 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
85 * 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
86 * 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
87 */
6afaa5cb7392 linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
88 .data : {
6afaa5cb7392 linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
89 *(.data*)
6afaa5cb7392 linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
90 } > XRAM Put_in_flash
6afaa5cb7392 linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
91 ifelse(Buildmem,FLASH,
6afaa5cb7392 linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
92 ` __initdata_ram_addr = ADDR(.data);
6afaa5cb7392 linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
93 __initdata_flash_addr = LOADADDR(.data);
6afaa5cb7392 linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
94 __initdata_size = SIZEOF(.data);
6afaa5cb7392 linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
95 ')dnl
6afaa5cb7392 linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
96
6afaa5cb7392 linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
97 .bss_dar (NOLOAD) : {
6afaa5cb7392 linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
98 *dar_gbl_var.a:(.bss* COMMON)
6afaa5cb7392 linker script for gcc fw build: initial version put together
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
99 } > XRAM
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 }