FreeCalypso > hg > fc-magnetite
annotate src/cs/system/template/gsm_ds_amd8_tango.template @ 685:3fb7384e820d
tpudrv12.h: FCDEV3B goes back to being itself
A while back we had the idea of a FreeCalypso modem family whereby our
current fcdev3b target would some day morph into fcmodem, with multiple
FC modem family products, potentially either triband or quadband, being
firmware-compatible with each other and with our original FCDEV3B. But
in light of the discovery of Tango modules that earlier idea is now being
withdrawn: instead the already existing Tango hw is being adopted into
our FreeCalypso family.
Tango cannot be firmware-compatible with triband OM/FCDEV3B targets
because the original quadband RFFE on Tango modules is wired in TI's
original Leonardo arrangement. Because this Leonardo/Tango way is now
becoming the official FreeCalypso way of driving quadband RFFEs thanks
to the adoption of Tango into our FC family, our earlier idea of
extending FIC's triband RFFE control signals with TSPACT5 no longer makes
much sense - we will probably never produce any new hardware with that
once-proposed arrangement. Therefore, that triband-or-quadband FCFAM
provision is being removed from the code base, and FCDEV3B goes back to
being treated the same way as CONFIG_TARGET_GTAMODEM for RFFE control
purposes.
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Thu, 24 Sep 2020 21:03:08 +0000 |
| parents | 0ccda9c065bc |
| children |
| rev | line source |
|---|---|
|
674
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 * Integrated Protocol Stack Linker command file (all components) |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 * |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 * Target : ARM |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 * |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 * Copyright (c) Texas Instruments 2002, Condat 2002 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 * |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 -c /* Autoinitialize variables at runtime */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 /*********************************/ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 /* SPECIFY THE SYSTEM MEMORY MAP */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 /*********************************/ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 MEMORY |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 { |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 /* CS0: Flash 8 Mbytes ****************************************************/ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 /* Interrupt Vectors Table */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 I_MEM (RXI) : org = 0x00000000 len = 0x00000100 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 /* Boot Sector */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 B_MEM (RXI) : org = 0x00000100 len = 0x00001f00 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 /* Magic Word for Calypso Boot ROM */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 MWC_MEM (RXI) : org = 0x00002000 len = 0x00000004 fill = 0x0000001 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 /* Program Memory */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 P_MEM1 (RXI) : org = 0x00004000 len = 0x00000700 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 P_MEM2 (RXI) : org = 0x00004700 len = 0x00000004 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 P_MEM3 (RXI) : org = 0x00004704 len = 0x00400000 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 /* FFS Area */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 FFS_MEM (RX) : org = 0x00700000 len = 0x00100000 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 /**************************************************************************/ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 /* CS1: External SRAM 2 Mbytes ********************************************/ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 /* Data Memory */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 D_MEM1 (RW) : org = 0x01000000 len = 0x00100000 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 D_MEM2 (RW) : org = 0x01100000 len = 0x00100000 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 /**************************************************************************/ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 /* CS6: Calypso Internal SRAM 256 kbytes **********************************/ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 /* Code & Variables Memory */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 S_MEM (RXW) : org = 0x00800000 len = 0x00040000 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 /**************************************************************************/ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 } |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 /***********************************************/ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 /* SPECIFY THE SECTIONS ALLOCATION INTO MEMORY */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 /***********************************************/ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 /* |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 * Since the bootloader directly calls the INT_Initialize() routine located |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 * in int.s, this int.s code must always be mapped at the same address |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 * (usually in the second flash sector). Its length is about 0x500 bytes. |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 * Then comes the code that need to be loaded into the internal RAM. |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 SECTIONS |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 { |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 .intvecs : {} > I_MEM /* Interrupt Vectors Table */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 .monitor : > B_MEM /* Monitor Constants & Code */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 { |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 $(CONST_BOOT_LIB) |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 } |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 .inttext : {} > P_MEM1 /* int.s Code */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 .bss_dar : > D_MEM1 /* DAR SWE Variables */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 { |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 $(BSS_DAR_LIB) |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 } |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 /* |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 * The .bss section should not be split to ensure it is initialized to 0 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 * each time the SW is reset. So the whole .bss is mapped either in D_MEM1 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 * or in D_MEM2. |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 .bss : > D_MEM1 | D_MEM2 /* Global & Static Variables */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 { |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 $(BSS_BOOT_LIB) |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 } |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 /* |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 * All .bss sections, which must be mapped in internal RAM must be |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 * grouped in order to initialized the corresponding memory to 0. |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 * This initialization is done in int.s file before calling the Nucleus |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 * routine. |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 GROUP |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 { |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 S_D_Mem /* Label of start address of .bss section in Int. RAM */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 .DintMem |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 { |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 /* |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 * .bss sections of the application |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 $(BSS_LIBS) |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 } |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 API_HISR_stack : {} |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 E_D_Mem /* Label of end address of .bss section in Int. RAM */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 } > S_MEM |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 /* |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 * .text and .const sections which must be mapped in internal RAM. |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 .ldfl : {} > P_MEM2 /* Used to know the start load address */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 GROUP load = P_MEM3, run = S_MEM |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 { |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 S_P_Mem /* Label of start address of .text & .const sections in Int. RAM */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 .PIntMem |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 { |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 /* |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 * .text and .const sections of the application. |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 * |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 * The .veneer sections correspond exactly to .text:v&n sections |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126 * implementing the veneer functions. The .text:v$n -> .veneer |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127 * translation is performed by PTOOL software when PTOOL_OPTIONS |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 * environement variable is set to veneer_section. |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 $(CONST_LIBS) |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 } |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 E_P_Mem /* Label of end address of .text and .const sections in Int. RAM */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135 } |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 /* |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 * The rest of the code is mapped in flash, however the trampolines |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 * load address should be consistent with .text. |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141 COMMENT2START |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
142 `trampolines load = P_MEM3, run = S_MEM |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
143 COMMENT2END |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
144 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
145 .text : {} > P_MEM3 /* Code */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
146 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
147 /* |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
148 * The rest of the constants is mapped in flash. |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
149 * The .cinit section should not be split. |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
150 */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
151 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
152 .cinit : {} > P_MEM3 /* Initialization Tables */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
153 .const : {} > P_MEM3 /* Constant Data */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
154 KadaAPI : {} > P_MEM3 /* ROMized CLDC */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
155 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
156 .javastack: {} >> D_MEM1 | D_MEM2 /* Java stack */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
157 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
158 .stackandheap : > D_MEM1 /* System Stacks, etc... */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
159 { |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
160 /* Leave 20 32bit words for register pushes. */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
161 . = align(8); |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
162 . += 20 * 4; |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
163 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
164 /* Stack for abort and/or undefined modes. */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
165 exception_stack = .; |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
166 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
167 /* Leave 38 32bit words for state saving on exceptions. */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
168 _xdump_buffer = .; |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
169 . += 38 * 4; |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
170 . = align(8); |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
171 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
172 /* Beginning of stacks and heap area - 2.75 kbytes (int.s) */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
173 stack_segment = .; |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
174 . += 0xB00; |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
175 } |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
176 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
177 .data : {} > D_MEM1 /* Initialized Data */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
178 .sysmem : {} > D_MEM1 /* Dynamic Memory Allocation Area */ |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
179 |
|
0ccda9c065bc
gsm_ds_amd8_tango.template for tangomdm and luna targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
180 } |
