FreeCalypso > hg > fc-magnetite
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 |
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 } |