annotate src/cs/system/template/gsm_ds_pirelli_flash.template @ 632:d968a3216ba0

new tangomdm build target TCS211/Magnetite built for target leonardo runs just fine on the Tango-based Caramel board, but a more proper tangomdm build target is preferable in order to better market these Tango modems to prospective commercial customers. The only differences are in GPIO and MCSI config: * MCSI is enabled in the tangomdm build config. * GPIO 1 is loudspeaker amplifier control on Leonardo, but on Tango platforms it can be used for anything. On Caramel boards this GPIO should be configured as an output driving high. * GPIO 2 needs to be configured as Calypso input on Leonardo, but on Tango platforms it can be used for anything. On Caramel boards this GPIO should be configured as an output, either high or low is OK.
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 04 Jan 2020 19:27:41 +0000
parents 1524d182a2b2
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
86
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * Integrated Protocol Stack Linker command file (all components)
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 *
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 * Target : ARM
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 *
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 * Copyright (c) Texas Instruments 2002, Condat 2002
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 *
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 * This version of the linker script template has been concocted
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 * by Spacefalcon the Outlaw based on previous hacks.
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 -c /* Autoinitialize variables at runtime */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 /*********************************/
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 /* SPECIFY THE SYSTEM MEMORY MAP */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 /*********************************/
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 MEMORY
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 {
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 /* CS0: Flash 8 Mbytes ****************************************************/
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 /* Interrupt Vectors Table */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 I_MEM (RXI) : org = 0x00000000 len = 0x00000100
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 /* Boot Sector */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 B_MEM (RXI) : org = 0x00000100 len = 0x00001f00
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 /* Magic Word for Calypso Boot ROM */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 MWC_MEM (RXI) : org = 0x00002000 len = 0x00000004 fill = 0x0000001
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 /* Program Memory */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 P_MEM1 (RXI) : org = 0x00004000 len = 0x00000700
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 P_MEM2 (RXI) : org = 0x00004700 len = 0x00000004
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 P_MEM3 (RXI) : org = 0x00004704 len = 0x00400000
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 /* FFS Area */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 FFS_MEM (RX) : org = 0x02000000 len = 0x00800000
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 /**************************************************************************/
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 /* CS1: External SRAM 1 Mbytes ********************************************/
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 /* Data Memory */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 /*
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 * Huge XRAM on the Pirelli: present it as two banks of 4 MiB each
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 D_MEM1 (RW) : org = 0x01000000 len = 0x00400000
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 D_MEM2 (RW) : org = 0x01400000 len = 0x00400000
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 /**************************************************************************/
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 /* CS6: Calypso Internal SRAM 512 kbytes **********************************/
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 /* Code & Variables Memory */
466
1524d182a2b2 linker script for large flash: reserve the first 0x100 bytes of IRAM
Mychaela Falconia <falcon@freecalypso.org>
parents: 86
diff changeset
52 S_MEM (RXW) : org = 0x00800100 len = 0x0007ff00
86
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 /**************************************************************************/
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54 }
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 /***********************************************/
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 /* SPECIFY THE SECTIONS ALLOCATION INTO MEMORY */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 /***********************************************/
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 /*
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61 * Since the bootloader directly calls the INT_Initialize() routine located
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62 * in int.s, this int.s code must always be mapped at the same address
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63 * (usually in the second flash sector). Its length is about 0x500 bytes.
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64 * Then comes the code that need to be loaded into the internal RAM.
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65 */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
66
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
67 SECTIONS
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
68 {
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
69 .intvecs : {} > I_MEM /* Interrupt Vectors Table */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
70 .monitor : > B_MEM /* Monitor Constants & Code */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
71 {
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
72 $(CONST_BOOT_LIB)
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73 }
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75 .inttext : {} > P_MEM1 /* int.s Code */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77 .bss_dar : > D_MEM1 /* DAR SWE Variables */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78 {
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79 $(BSS_DAR_LIB)
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80 }
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
81
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
82 /*
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83 * The .bss section should not be split to ensure it is initialized to 0
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
84 * each time the SW is reset. So the whole .bss is mapped either in D_MEM1
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
85 * or in D_MEM2.
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
86 *
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
87 * Falcon's note for K5A3281: see the comments above where the memory
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
88 * regions are defined.
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
89 */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
90
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
91 .bss : > D_MEM1 | D_MEM2 /* Global & Static Variables */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
92 {
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
93 $(BSS_BOOT_LIB)
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
94 }
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
95
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
96 /*
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
97 * All .bss sections, which must be mapped in internal RAM must be
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
98 * grouped in order to initialized the corresponding memory to 0.
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
99 * This initialization is done in int.s file before calling the Nucleus
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
100 * routine.
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
101 */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
102
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
103 GROUP
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
104 {
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
105 S_D_Mem /* Label of start address of .bss section in Int. RAM */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
106 .DintMem
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
107 {
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
108
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
109 /*
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
110 * .bss sections of the application
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
111 */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
112
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
113 $(BSS_LIBS)
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
114
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
115 }
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
116
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
117 API_HISR_stack : {}
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
118
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
119 E_D_Mem /* Label of end address of .bss section in Int. RAM */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
120 } > S_MEM
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
121
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
122 /*
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
123 * .text and .const sections which must be mapped in internal RAM.
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
124 */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
125
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
126 .ldfl : {} > P_MEM2 /* Used to know the start load address */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
127 GROUP load = P_MEM3, run = S_MEM
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
128 {
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
129 S_P_Mem /* Label of start address of .text & .const sections in Int. RAM */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
130 .PIntMem
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
131 {
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
132 /*
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
133 * .text and .const sections of the application.
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
134 *
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
135 * The .veneer sections correspond exactly to .text:v&n sections
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
136 * implementing the veneer functions. The .text:v$n -> .veneer
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
137 * translation is performed by PTOOL software when PTOOL_OPTIONS
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
138 * environement variable is set to veneer_section.
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
139 */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
140
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
141 $(CONST_LIBS)
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
142
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
143 }
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
144 E_P_Mem /* Label of end address of .text and .const sections in Int. RAM */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
145 }
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
146
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
147 /*
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
148 * The rest of the code is mapped in flash, however the trampolines
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
149 * load address should be consistent with .text.
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
150 */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
151 COMMENT2START
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
152 `trampolines load = P_MEM3, run = S_MEM
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
153 COMMENT2END
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
154
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
155 .text : {} > P_MEM3 /* Code */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
156
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
157 /*
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
158 * The rest of the constants is mapped in flash.
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
159 * The .cinit section should not be split.
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
160 */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
161
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
162 .cinit : {} > P_MEM3 /* Initialization Tables */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
163 .const : {} > P_MEM3 /* Constant Data */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
164 KadaAPI : {} > P_MEM3 /* ROMized CLDC */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
165
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
166 .javastack: {} >> D_MEM1 | D_MEM2 /* Java stack */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
167
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
168 .stackandheap : > D_MEM1 /* System Stacks, etc... */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
169 {
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
170 /* Leave 20 32bit words for register pushes. */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
171 . = align(8);
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
172 . += 20 * 4;
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
173
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
174 /* Stack for abort and/or undefined modes. */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
175 exception_stack = .;
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
176
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
177 /* Leave 38 32bit words for state saving on exceptions. */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
178 _xdump_buffer = .;
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
179 . += 38 * 4;
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
180 . = align(8);
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
181
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
182 /* Beginning of stacks and heap area - 2.75 kbytes (int.s) */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
183 stack_segment = .;
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
184 . += 0xB00;
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
185 }
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
186
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
187 .data : {} > D_MEM1 /* Initialized Data */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
188 .sysmem : {} > D_MEM1 /* Dynamic Memory Allocation Area */
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
189
b54879bebfd3 src/cs/system/template: C139 and Pirelli versions added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
190 }