| 2850 |
dpurdie |
1 |
/******************************************************************************/
|
|
|
2 |
/* lnk_msp430fr5725.cmd - LINKER COMMAND FILE FOR LINKING MSP430FR5725 PROGRAMS */
|
|
|
3 |
/* */
|
|
|
4 |
/* Usage: lnk430 <obj files...> -o <out file> -m <map file> lnk.cmd */
|
|
|
5 |
/* cl430 <src files...> -z -o <out file> -m <map file> lnk.cmd */
|
|
|
6 |
/* */
|
|
|
7 |
/*----------------------------------------------------------------------------*/
|
|
|
8 |
/* These linker options are for command line linking only. For IDE linking, */
|
|
|
9 |
/* you should set your linker options in Project Properties */
|
|
|
10 |
/* -c LINK USING C CONVENTIONS */
|
|
|
11 |
/* -stack 0x0100 SOFTWARE STACK SIZE */
|
|
|
12 |
/* -heap 0x0100 HEAP AREA SIZE */
|
|
|
13 |
/* */
|
|
|
14 |
/*----------------------------------------------------------------------------*/
|
|
|
15 |
|
|
|
16 |
|
|
|
17 |
/****************************************************************************/
|
|
|
18 |
/* SPECIFY THE SYSTEM MEMORY MAP */
|
|
|
19 |
/****************************************************************************/
|
|
|
20 |
|
|
|
21 |
MEMORY
|
|
|
22 |
{
|
|
|
23 |
SFR : origin = 0x0000, length = 0x0010
|
|
|
24 |
PERIPHERALS_8BIT : origin = 0x0010, length = 0x00F0
|
|
|
25 |
PERIPHERALS_16BIT : origin = 0x0100, length = 0x0100
|
|
|
26 |
RAM : origin = 0x1C00, length = 0x0400
|
|
|
27 |
INFOA : origin = 0x1880, length = 0x0080
|
|
|
28 |
INFOB : origin = 0x1800, length = 0x0080
|
|
|
29 |
FRAM : origin = 0xE000, length = 0x1F80
|
|
|
30 |
INT00 : origin = 0xFF80, length = 0x0002
|
|
|
31 |
INT01 : origin = 0xFF82, length = 0x0002
|
|
|
32 |
INT02 : origin = 0xFF84, length = 0x0002
|
|
|
33 |
INT03 : origin = 0xFF86, length = 0x0002
|
|
|
34 |
INT04 : origin = 0xFF88, length = 0x0002
|
|
|
35 |
INT05 : origin = 0xFF8A, length = 0x0002
|
|
|
36 |
INT06 : origin = 0xFF8C, length = 0x0002
|
|
|
37 |
INT07 : origin = 0xFF8E, length = 0x0002
|
|
|
38 |
INT08 : origin = 0xFF90, length = 0x0002
|
|
|
39 |
INT09 : origin = 0xFF92, length = 0x0002
|
|
|
40 |
INT10 : origin = 0xFF94, length = 0x0002
|
|
|
41 |
INT11 : origin = 0xFF96, length = 0x0002
|
|
|
42 |
INT12 : origin = 0xFF98, length = 0x0002
|
|
|
43 |
INT13 : origin = 0xFF9A, length = 0x0002
|
|
|
44 |
INT14 : origin = 0xFF9C, length = 0x0002
|
|
|
45 |
INT15 : origin = 0xFF9E, length = 0x0002
|
|
|
46 |
INT16 : origin = 0xFFA0, length = 0x0002
|
|
|
47 |
INT17 : origin = 0xFFA2, length = 0x0002
|
|
|
48 |
INT18 : origin = 0xFFA4, length = 0x0002
|
|
|
49 |
INT19 : origin = 0xFFA6, length = 0x0002
|
|
|
50 |
INT20 : origin = 0xFFA8, length = 0x0002
|
|
|
51 |
INT21 : origin = 0xFFAA, length = 0x0002
|
|
|
52 |
INT22 : origin = 0xFFAC, length = 0x0002
|
|
|
53 |
INT23 : origin = 0xFFAE, length = 0x0002
|
|
|
54 |
INT24 : origin = 0xFFB0, length = 0x0002
|
|
|
55 |
INT25 : origin = 0xFFB2, length = 0x0002
|
|
|
56 |
INT26 : origin = 0xFFB4, length = 0x0002
|
|
|
57 |
INT27 : origin = 0xFFB6, length = 0x0002
|
|
|
58 |
INT28 : origin = 0xFFB8, length = 0x0002
|
|
|
59 |
INT29 : origin = 0xFFBA, length = 0x0002
|
|
|
60 |
INT30 : origin = 0xFFBC, length = 0x0002
|
|
|
61 |
INT31 : origin = 0xFFBE, length = 0x0002
|
|
|
62 |
INT32 : origin = 0xFFC0, length = 0x0002
|
|
|
63 |
INT33 : origin = 0xFFC2, length = 0x0002
|
|
|
64 |
INT34 : origin = 0xFFC4, length = 0x0002
|
|
|
65 |
INT35 : origin = 0xFFC6, length = 0x0002
|
|
|
66 |
INT36 : origin = 0xFFC8, length = 0x0002
|
|
|
67 |
INT37 : origin = 0xFFCA, length = 0x0002
|
|
|
68 |
INT38 : origin = 0xFFCC, length = 0x0002
|
|
|
69 |
INT39 : origin = 0xFFCE, length = 0x0002
|
|
|
70 |
INT40 : origin = 0xFFD0, length = 0x0002
|
|
|
71 |
INT41 : origin = 0xFFD2, length = 0x0002
|
|
|
72 |
INT42 : origin = 0xFFD4, length = 0x0002
|
|
|
73 |
INT43 : origin = 0xFFD6, length = 0x0002
|
|
|
74 |
INT44 : origin = 0xFFD8, length = 0x0002
|
|
|
75 |
INT45 : origin = 0xFFDA, length = 0x0002
|
|
|
76 |
INT46 : origin = 0xFFDC, length = 0x0002
|
|
|
77 |
INT47 : origin = 0xFFDE, length = 0x0002
|
|
|
78 |
INT48 : origin = 0xFFE0, length = 0x0002
|
|
|
79 |
INT49 : origin = 0xFFE2, length = 0x0002
|
|
|
80 |
INT50 : origin = 0xFFE4, length = 0x0002
|
|
|
81 |
INT51 : origin = 0xFFE6, length = 0x0002
|
|
|
82 |
INT52 : origin = 0xFFE8, length = 0x0002
|
|
|
83 |
INT53 : origin = 0xFFEA, length = 0x0002
|
|
|
84 |
INT54 : origin = 0xFFEC, length = 0x0002
|
|
|
85 |
INT55 : origin = 0xFFEE, length = 0x0002
|
|
|
86 |
INT56 : origin = 0xFFF0, length = 0x0002
|
|
|
87 |
INT57 : origin = 0xFFF2, length = 0x0002
|
|
|
88 |
INT58 : origin = 0xFFF4, length = 0x0002
|
|
|
89 |
INT59 : origin = 0xFFF6, length = 0x0002
|
|
|
90 |
INT60 : origin = 0xFFF8, length = 0x0002
|
|
|
91 |
INT61 : origin = 0xFFFA, length = 0x0002
|
|
|
92 |
INT62 : origin = 0xFFFC, length = 0x0002
|
|
|
93 |
RESET : origin = 0xFFFE, length = 0x0002
|
|
|
94 |
}
|
|
|
95 |
|
|
|
96 |
/****************************************************************************/
|
|
|
97 |
/* SPECIFY THE SECTIONS ALLOCATION INTO MEMORY */
|
|
|
98 |
/****************************************************************************/
|
|
|
99 |
|
|
|
100 |
SECTIONS
|
|
|
101 |
{
|
|
|
102 |
GROUP(ALL_FRAM)
|
|
|
103 |
{
|
|
|
104 |
GROUP(READ_WRITE_MEMORY): ALIGN(0x0200) RUN_START(fram_rw_start)
|
|
|
105 |
{
|
|
|
106 |
.bss : {} /* GLOBAL & STATIC VARS */
|
|
|
107 |
.cio : {} /* C I/O BUFFER */
|
|
|
108 |
.sysmem : {} /* DYNAMIC MEMORY ALLOCATION AREA */
|
|
|
109 |
.stack : {} /* SOFTWARE SYSTEM STACK */
|
|
|
110 |
}
|
|
|
111 |
|
|
|
112 |
GROUP(READ_ONLY_MEMORY): ALIGN(0x0200) RUN_START(fram_ro_start)
|
|
|
113 |
{
|
|
|
114 |
.cinit : {} /* INITIALIZATION TABLES */
|
|
|
115 |
.pinit : {} /* C++ CONSTRUCTOR TABLES */
|
|
|
116 |
.const : {} /* CONSTANT DATA */
|
|
|
117 |
}
|
|
|
118 |
|
|
|
119 |
GROUP(EXECUTABLE_MEMORY): ALIGN(0x0200) RUN_START(fram_rx_start)
|
|
|
120 |
{
|
|
|
121 |
.text : {} /* CODE */
|
|
|
122 |
}
|
|
|
123 |
} > FRAM
|
|
|
124 |
|
|
|
125 |
.infoA : {} > INFOA /* MSP430 INFO FRAM MEMORY SEGMENTS */
|
|
|
126 |
.infoB : {} > INFOB
|
|
|
127 |
|
|
|
128 |
.int00 : {} > INT00 /* MSP430 INTERRUPT VECTORS */
|
|
|
129 |
.int01 : {} > INT01
|
|
|
130 |
.int02 : {} > INT02
|
|
|
131 |
.int03 : {} > INT03
|
|
|
132 |
.int04 : {} > INT04
|
|
|
133 |
.int05 : {} > INT05
|
|
|
134 |
.int06 : {} > INT06
|
|
|
135 |
.int07 : {} > INT07
|
|
|
136 |
.int08 : {} > INT08
|
|
|
137 |
.int09 : {} > INT09
|
|
|
138 |
.int10 : {} > INT10
|
|
|
139 |
.int11 : {} > INT11
|
|
|
140 |
.int12 : {} > INT12
|
|
|
141 |
.int13 : {} > INT13
|
|
|
142 |
.int14 : {} > INT14
|
|
|
143 |
.int15 : {} > INT15
|
|
|
144 |
.int16 : {} > INT16
|
|
|
145 |
.int17 : {} > INT17
|
|
|
146 |
.int18 : {} > INT18
|
|
|
147 |
.int19 : {} > INT19
|
|
|
148 |
.int20 : {} > INT20
|
|
|
149 |
.int21 : {} > INT21
|
|
|
150 |
.int22 : {} > INT22
|
|
|
151 |
.int23 : {} > INT23
|
|
|
152 |
.int24 : {} > INT24
|
|
|
153 |
.int25 : {} > INT25
|
|
|
154 |
.int26 : {} > INT26
|
|
|
155 |
.int27 : {} > INT27
|
|
|
156 |
.int28 : {} > INT28
|
|
|
157 |
.int29 : {} > INT29
|
|
|
158 |
.int30 : {} > INT30
|
|
|
159 |
.int31 : {} > INT31
|
|
|
160 |
.int32 : {} > INT32
|
|
|
161 |
.int33 : {} > INT33
|
|
|
162 |
.int34 : {} > INT34
|
|
|
163 |
.int35 : {} > INT35
|
|
|
164 |
.int36 : {} > INT36
|
|
|
165 |
.int37 : {} > INT37
|
|
|
166 |
.int38 : {} > INT38
|
|
|
167 |
.int39 : {} > INT39
|
|
|
168 |
.int40 : {} > INT40
|
|
|
169 |
.int41 : {} > INT41
|
|
|
170 |
.int42 : {} > INT42
|
|
|
171 |
.int43 : {} > INT43
|
|
|
172 |
.int44 : {} > INT44
|
|
|
173 |
.int45 : {} > INT45
|
|
|
174 |
.int46 : {} > INT46
|
|
|
175 |
.int47 : {} > INT47
|
|
|
176 |
.int48 : {} > INT48
|
|
|
177 |
.int49 : {} > INT49
|
|
|
178 |
.int50 : {} > INT50
|
|
|
179 |
.int51 : {} > INT51
|
|
|
180 |
.int52 : {} > INT52
|
|
|
181 |
.int53 : {} > INT53
|
|
|
182 |
.int54 : {} > INT54
|
|
|
183 |
.int55 : {} > INT55
|
|
|
184 |
.int56 : {} > INT56
|
|
|
185 |
.int57 : {} > INT57
|
|
|
186 |
.int58 : {} > INT58
|
|
|
187 |
.int59 : {} > INT59
|
|
|
188 |
.int60 : {} > INT60
|
|
|
189 |
.int61 : {} > INT61
|
|
|
190 |
.int62 : {} > INT62
|
|
|
191 |
.reset : {} > RESET /* MSP430 RESET VECTOR */
|
|
|
192 |
}
|
|
|
193 |
|
|
|
194 |
/****************************************************************************/
|
|
|
195 |
/* MPU SPECIFIC MEMORY SEGMENT DEFINITONS */
|
|
|
196 |
/****************************************************************************/
|
|
|
197 |
|
|
|
198 |
/*
|
|
|
199 |
mpusb1 = (fram_ro_start + 0x4000 - 0xFFFF - 1) * 32 / 0x4000 - 1;
|
|
|
200 |
mpusb2 = (fram_rx_start + 0x4000 - 0xFFFF - 1) * 32 / 0x4000 - 1;
|
|
|
201 |
__mpuseg = (mpusb2 << 8) | mpusb1;
|
|
|
202 |
__mpusam = 0x7516;
|
|
|
203 |
*/
|
|
|
204 |
|
|
|
205 |
|
|
|
206 |
/****************************************************************************/
|
|
|
207 |
/* INCLUDE PERIPHERALS MEMORY MAP */
|
|
|
208 |
/****************************************************************************/
|
|
|
209 |
|
|
|
210 |
-l msp430fr5725.cmd
|
|
|
211 |
|