annotate src/cs/system/template/gsm_ds_motc155.template @ 695:530f71d65c20

uartfax.c: pull from Tourmaline (GTM900 RI output) In addition to the primary intent of bringing in GTM900 RI output support, pulling uartfax.c wholesale from Tourmaline also changes the initial_time argument in the two NU_Create_Timer() calls from 0 to 1. This change is required for the new version of Nucleus used in Tourmaline and Selenite (and apparently also used by TI in LoCosto), and it is harmless (no effect) for the original TCS211 version of Nucleus used in Magnetite. The new philosophical model being adopted is that Tourmaline is our new development head firmware, whereas Magnetite will now be maintained similarly to how Linux maintainers treat stable kernels: changes will be backported from Tourmaline if they are deemed appropriate for stable modem firmware.
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 24 Oct 2020 17:33:10 +0000
parents ae18f9aad7ce
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
536
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * Integrated Protocol Stack Linker command file (all components)
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 *
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 * Target : ARM
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 *
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 * Copyright (c) Texas Instruments 2002, Condat 2002
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 *
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 * This version of the linker script template has been concocted
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 * by Spacefalcon the Outlaw based on previous hacks.
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 -c /* Autoinitialize variables at runtime */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 /*********************************/
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 /* SPECIFY THE SYSTEM MEMORY MAP */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 /*********************************/
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 MEMORY
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 {
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 /* CS0: Flash 4 Mbytes ****************************************************/
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 /* Interrupt Vectors Table */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 I_MEM (RXI) : org = 0x00000000 len = 0x00000100
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 /* Boot Sector */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 B_MEM (RXI) : org = 0x00000100 len = 0x00001f00
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 /* Magic Word for Calypso Boot ROM */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 MWC_MEM (RXI) : org = 0x00002000 len = 0x00000004 fill = 0x0000001
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 /* Program Memory */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 P_MEM1 (RXI) : org = 0x000200E0 len = 0x00000700
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 P_MEM2 (RXI) : org = 0x000207E0 len = 0x00000004
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 P_MEM3 (RXI) : org = 0x000207E4 len = 0x00400000
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 /* FFS Area */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 FFS_MEM (RX) : org = 0x00700000 len = 0x000D0000
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 /**************************************************************************/
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 /* CS1: External SRAM 2 Mbytes ********************************************/
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 /* Data Memory */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 /* We do the same splitting hack as on other targets */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 D_MEM1 (RW) : org = 0x01000000 len = 0x00100000
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 D_MEM2 (RW) : org = 0x01100000 len = 0x00100000
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 /**************************************************************************/
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 /* CS6: Calypso Internal SRAM 256 kbytes **********************************/
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 /* Code & Variables Memory */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 S_MEM (RXW) : org = 0x00800000 len = 0x00040000
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 /**************************************************************************/
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52 }
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54 /***********************************************/
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55 /* SPECIFY THE SECTIONS ALLOCATION INTO MEMORY */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 /***********************************************/
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 /*
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59 * Since the bootloader directly calls the INT_Initialize() routine located
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 * in int.s, this int.s code must always be mapped at the same address
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61 * (usually in the second flash sector). Its length is about 0x500 bytes.
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62 * Then comes the code that need to be loaded into the internal RAM.
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63 */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65 SECTIONS
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
66 {
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
67 .intvecs : {} > I_MEM /* Interrupt Vectors Table */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
68 .monitor : > B_MEM /* Monitor Constants & Code */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
69 {
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
70 $(CONST_BOOT_LIB)
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
71 }
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
72
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73 .inttext : {} > P_MEM1 /* int.s Code */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75 .bss_dar : > D_MEM1 /* DAR SWE Variables */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76 {
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77 $(BSS_DAR_LIB)
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78 }
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80 /*
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
81 * The .bss section should not be split to ensure it is initialized to 0
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
82 * each time the SW is reset. So the whole .bss is mapped either in D_MEM1
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83 * or in D_MEM2.
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
84 *
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
85 * Falcon's note for K5A3281: see the comments above where the memory
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
86 * regions are defined.
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
87 */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
88
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
89 .bss : > D_MEM1 | D_MEM2 /* Global & Static Variables */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
90 {
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
91 $(BSS_BOOT_LIB)
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
92 }
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
93
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
94 /*
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
95 * All .bss sections, which must be mapped in internal RAM must be
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
96 * grouped in order to initialized the corresponding memory to 0.
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
97 * This initialization is done in int.s file before calling the Nucleus
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
98 * routine.
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
99 */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
100
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
101 GROUP
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
102 {
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
103 S_D_Mem /* Label of start address of .bss section in Int. RAM */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
104 .DintMem
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
105 {
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
106
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
107 /*
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
108 * .bss sections of the application
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
109 */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
110
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
111 $(BSS_LIBS)
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
112
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
113 }
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
114
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
115 API_HISR_stack : {}
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
116
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
117 E_D_Mem /* Label of end address of .bss section in Int. RAM */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
118 } > S_MEM
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
119
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
120 /*
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
121 * .text and .const sections which must be mapped in internal RAM.
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
122 */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
123
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
124 .ldfl : {} > P_MEM2 /* Used to know the start load address */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
125 GROUP load = P_MEM3, run = S_MEM
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
126 {
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
127 S_P_Mem /* Label of start address of .text & .const sections in Int. RAM */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
128 .PIntMem
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
129 {
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
130 /*
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
131 * .text and .const sections of the application.
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
132 *
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
133 * The .veneer sections correspond exactly to .text:v&n sections
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
134 * implementing the veneer functions. The .text:v$n -> .veneer
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
135 * translation is performed by PTOOL software when PTOOL_OPTIONS
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
136 * environement variable is set to veneer_section.
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
137 */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
138
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
139 $(CONST_LIBS)
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
140
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
141 }
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
142 E_P_Mem /* Label of end address of .text and .const sections in Int. RAM */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
143 }
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
144
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
145 /*
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
146 * The rest of the code is mapped in flash, however the trampolines
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
147 * load address should be consistent with .text.
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
148 */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
149 COMMENT2START
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
150 `trampolines load = P_MEM3, run = S_MEM
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
151 COMMENT2END
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
152
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
153 .text : {} > P_MEM3 /* Code */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
154
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
155 /*
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
156 * The rest of the constants is mapped in flash.
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
157 * The .cinit section should not be split.
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
158 */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
159
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
160 .cinit : {} > P_MEM3 /* Initialization Tables */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
161 .const : {} > P_MEM3 /* Constant Data */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
162 KadaAPI : {} > P_MEM3 /* ROMized CLDC */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
163
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
164 .javastack: {} >> D_MEM1 | D_MEM2 /* Java stack */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
165
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
166 .stackandheap : > D_MEM1 /* System Stacks, etc... */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
167 {
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
168 /* Leave 20 32bit words for register pushes. */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
169 . = align(8);
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
170 . += 20 * 4;
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
171
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
172 /* Stack for abort and/or undefined modes. */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
173 exception_stack = .;
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
174
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
175 /* Leave 38 32bit words for state saving on exceptions. */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
176 _xdump_buffer = .;
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
177 . += 38 * 4;
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
178 . = align(8);
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
179
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
180 /* Beginning of stacks and heap area - 2.75 kbytes (int.s) */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
181 stack_segment = .;
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
182 . += 0xB00;
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
183 }
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
184
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
185 .data : {} > D_MEM1 /* Initialized Data */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
186 .sysmem : {} > D_MEM1 /* Dynamic Memory Allocation Area */
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
187
ae18f9aad7ce C155 target support implemented in a way that should work
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
188 }