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