annotate src/cs/system/template/gsm_ds_amd8_compact.template @ 701:35e7f9d0379f

targets: add TARGET_HAS_BUZZER to c11x, c139 and dsample This new target config preprocessor symbol was introduced in Tourmaline in connection with the new approach to playing buzzer melodies via PWT, properly omitting the responsible code on targets where BU output controls the vibrator instead. That code is not present in Magnetite and we have no plans to backport it here, but target header files should be kept consistent between the two trees, especially given that we plan to support FC Venus target in Magnetite.
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 26 Mar 2022 19:51:34 +0000
parents 916b27af1c6c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
625
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * Integrated Protocol Stack Linker command file (all components)
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 *
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 * Target : ARM
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 *
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 * Copyright (c) Texas Instruments 2002, Condat 2002
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 *
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 -c /* Autoinitialize variables at runtime */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 /*********************************/
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 /* SPECIFY THE SYSTEM MEMORY MAP */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 /*********************************/
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 MEMORY
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 {
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 /* CS0: Flash 8 Mbytes ****************************************************/
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 /* Interrupt Vectors Table */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 I_MEM (RXI) : org = 0x00000000 len = 0x00000100
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 /* Boot Sector */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 B_MEM (RXI) : org = 0x00000100 len = 0x00001f00
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 /* Magic Word for Calypso Boot ROM */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 MWC_MEM (RXI) : org = 0x00002000 len = 0x00000004 fill = 0x0000001
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 /* Program Memory */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 P_MEM1 (RXI) : org = 0x00004000 len = 0x00000700
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 P_MEM2 (RXI) : org = 0x00004700 len = 0x00000004
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 P_MEM3 (RXI) : org = 0x00004704 len = 0x00400000
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 /* FFS Area */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 FFS_MEM (RX) : org = 0x01800000 len = 0x00200000
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 /**************************************************************************/
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 /* CS1: External SRAM 1 Mbytes ********************************************/
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 /* Data Memory */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 /*
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 * FreeCalypso: we try to support several different Leonardo board
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 * variants with different flash and XRAM sizes. In this template
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 * we are going to define two XRAM regions of 1 MiB each.
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 D_MEM1 (RW) : org = 0x01000000 len = 0x00100000
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 D_MEM2 (RW) : org = 0x01100000 len = 0x00100000
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 /**************************************************************************/
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 /* CS6: Calypso Internal SRAM 512 kbytes **********************************/
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 /* Code & Variables Memory */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 S_MEM (RXW) : org = 0x00800000 len = 0x00080000
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52 /**************************************************************************/
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 }
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55 /***********************************************/
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 /* SPECIFY THE SECTIONS ALLOCATION INTO MEMORY */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 /***********************************************/
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59 /*
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 * Since the bootloader directly calls the INT_Initialize() routine located
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61 * in int.s, this int.s code must always be mapped at the same address
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62 * (usually in the second flash sector). Its length is about 0x500 bytes.
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63 * Then comes the code that need to be loaded into the internal RAM.
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64 */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
66 SECTIONS
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
67 {
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
68 .intvecs : {} > I_MEM /* Interrupt Vectors Table */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
69 .monitor : > B_MEM /* Monitor Constants & Code */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
70 {
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
71 $(CONST_BOOT_LIB)
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
72 }
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74 .inttext : {} > P_MEM1 /* int.s Code */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76 .bss_dar : > D_MEM1 /* DAR SWE Variables */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77 {
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78 $(BSS_DAR_LIB)
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79 }
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
81 /*
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
82 * The .bss section should not be split to ensure it is initialized to 0
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83 * each time the SW is reset. So the whole .bss is mapped either in D_MEM1
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
84 * or in D_MEM2.
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
85 */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
86
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
87 .bss : > D_MEM1 | D_MEM2 /* Global & Static Variables */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
88 {
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
89 $(BSS_BOOT_LIB)
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
90 }
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
91
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
92 /*
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
93 * All .bss sections, which must be mapped in internal RAM must be
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
94 * grouped in order to initialized the corresponding memory to 0.
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
95 * This initialization is done in int.s file before calling the Nucleus
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
96 * routine.
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
97 */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
98
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
99 GROUP
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
100 {
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
101 S_D_Mem /* Label of start address of .bss section in Int. RAM */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
102 .DintMem
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
103 {
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
104
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
105 /*
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
106 * .bss sections of the application
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
107 */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
108
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
109 $(BSS_LIBS)
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
110
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
111 }
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
112
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
113 API_HISR_stack : {}
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
114
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
115 E_D_Mem /* Label of end address of .bss section in Int. RAM */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
116 } > S_MEM
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
117
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
118 /*
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
119 * .text and .const sections which must be mapped in internal RAM.
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
120 */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
121
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
122 .ldfl : {} > P_MEM2 /* Used to know the start load address */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
123 GROUP load = P_MEM3, run = S_MEM
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
124 {
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
125 S_P_Mem /* Label of start address of .text & .const sections in Int. RAM */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
126 .PIntMem
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
127 {
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
128 /*
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
129 * .text and .const sections of the application.
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
130 *
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
131 * The .veneer sections correspond exactly to .text:v&n sections
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
132 * implementing the veneer functions. The .text:v$n -> .veneer
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
133 * translation is performed by PTOOL software when PTOOL_OPTIONS
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
134 * environement variable is set to veneer_section.
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
135 */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
136
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
137 $(CONST_LIBS)
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
138
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
139 }
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
140 E_P_Mem /* Label of end address of .text and .const sections in Int. RAM */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
141 }
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
142
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
143 /*
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
144 * The rest of the code is mapped in flash, however the trampolines
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
145 * load address should be consistent with .text.
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
146 */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
147 COMMENT2START
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
148 `trampolines load = P_MEM3, run = S_MEM
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
149 COMMENT2END
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
150
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
151 .text : {} > P_MEM3 /* Code */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
152
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
153 /*
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
154 * The rest of the constants is mapped in flash.
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
155 * The .cinit section should not be split.
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
156 */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
157
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
158 .cinit : {} > P_MEM3 /* Initialization Tables */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
159 .const : {} > P_MEM3 /* Constant Data */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
160 KadaAPI : {} > P_MEM3 /* ROMized CLDC */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
161
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
162 .javastack: {} >> D_MEM1 | D_MEM2 /* Java stack */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
163
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
164 .stackandheap : > D_MEM1 /* System Stacks, etc... */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
165 {
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
166 /* Leave 20 32bit words for register pushes. */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
167 . = align(8);
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
168 . += 20 * 4;
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
169
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
170 /* Stack for abort and/or undefined modes. */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
171 exception_stack = .;
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
172
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
173 /* Leave 38 32bit words for state saving on exceptions. */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
174 _xdump_buffer = .;
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
175 . += 38 * 4;
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
176 . = align(8);
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
177
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
178 /* Beginning of stacks and heap area - 2.75 kbytes (int.s) */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
179 stack_segment = .;
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
180 . += 0xB00;
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
181 }
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
182
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
183 .data : {} > D_MEM1 /* Initialized Data */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
184 .sysmem : {} > D_MEM1 /* Dynamic Memory Allocation Area */
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
185
916b27af1c6c Leonardo target: compacted linker script template
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
186 }