-
Notifications
You must be signed in to change notification settings - Fork 0
/
curiosity-mzef.ld
315 lines (293 loc) · 18.3 KB
/
curiosity-mzef.ld
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
/*--------------------------------------------------------------------------
* MPLAB XC Compiler - PIC32MZ2048EFM100 linker script
* Build date : Jun 01 2016
*
* Copyright (c) 2016, Microchip Technology Inc. and its subsidiaries ("Microchip")
* All rights reserved.
*
* This software is developed by Microchip Technology Inc. and its
* subsidiaries ("Microchip").
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* 3. Microchip's name may not be used to endorse or promote products
* derived from this software without specific prior written
* permission.
*
* THIS SOFTWARE IS PROVIDED BY MICROCHIP "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR PURPOSE ARE DISCLAIMED. IN NO EVENT
* SHALL MICROCHIP BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT LIMITED TO
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA OR PROFITS;
* OR BUSINESS INTERRUPTION) HOWSOEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
/* Default linker script, for normal executables */
/* NOTE: This single-file linker script replaces the two-file system used
* for older PIC32 devices.
*/
OUTPUT_FORMAT("elf32-tradlittlemips")
OUTPUT_ARCH(pic32mx)
ENTRY(_reset)
/*
* Provide for a minimum stack and heap size
* - _min_stack_size - represents the minimum space that must be made
* available for the stack. Can be overridden from
* the command line using the linker's --defsym option.
* - _min_heap_size - represents the minimum space that must be made
* available for the heap. Must be specified on
* the command line using the linker's --defsym option.
*/
EXTERN (_min_stack_size _min_heap_size)
PROVIDE(_min_stack_size = 0x400) ;
/*************************************************************************
* Processor-specific object file. Contains SFR definitions.
*************************************************************************/
INPUT("processor.o")
/*************************************************************************
* Vector-offset initialization
*************************************************************************/
OPTIONAL("vector_offset_init.o")
/*************************************************************************
* Symbols used for interrupt-vector table generation
* To override the defaults, define the _ebase_address symbol using
* the --defsym linker opt as shown in this example:
* xc32-gcc src.c -Wl,--defsym=_ebase_address=0x9D001000
*************************************************************************/
PROVIDE(_vector_spacing = 0x0001);
PROVIDE(_ebase_address = 0x9D000000);
/*************************************************************************
* Memory Address Equates
* _RESET_ADDR -- Reset Vector or entry point
* _BEV_EXCPT_ADDR -- Boot exception Vector
* _DBG_EXCPT_ADDR -- In-circuit Debugging Exception Vector
* _SIMPLE_TLB_REFILL_EXCPT_ADDR -- Simple TLB-Refill Exception Vector
* _CACHE_ERR_EXCPT_ADDR -- Cache-error Exception Vector
* _GEN_EXCPT_ADDR -- General Exception Vector
*************************************************************************/
_RESET_ADDR = 0xBFC00000;
_BEV_EXCPT_ADDR = 0xBFC00380;
_DBG_EXCPT_ADDR = 0xBFC00480;
_SIMPLE_TLB_REFILL_EXCPT_ADDR = _ebase_address + 0;
_SIMPLE_TLB_REFILL_EXCPT_OFFSET = 0x0;
_TLB_TABLE_OFFSET = 0x0A0;
_CACHE_ERR_EXCPT_ADDR = _ebase_address + 0x100;
_GEN_EXCPT_ADDR = _ebase_address + 0x180;
_IMAGE_PTR_TABLE_OFFSET = 0x0F8;
_IMAGE_HEADER_OFFSET = 0x0FC;
_IMAGE_PTR_TABLE = _ebase_address + _IMAGE_PTR_TABLE_OFFSET;
_IMAGE_HEADER_ADDR = _ebase_address + _IMAGE_HEADER_OFFSET;
_SIMPLE_TLB_REFILL_EXCPT_ADDR = _ebase_address + _SIMPLE_TLB_REFILL_EXCPT_OFFSET;
_TLB_TABLE = ORIGIN(kseg1_vector_mem) + _TLB_TABLE_OFFSET;
/*************************************************************************
* Memory Regions
*
* Memory regions without attributes cannot be used for orphaned sections.
* Only sections specifically assigned to these regions can be allocated
* into these regions.
*
* The Debug exception vector is located at 0x9FC00480.
*
* The config_<address> sections are used to locate the config words at
* their absolute addresses.
*************************************************************************/
MEMORY
{
kseg0_vector_mem : ORIGIN = 0x9D000000, LENGTH = 0x1000
kseg1_vector_mem : ORIGIN = 0xBD000000, LENGTH = 0x1000
kseg0_program_mem (rx) : ORIGIN = 0x9D001000, LENGTH = 0x1FB000
kseg0_eeprom_mem : ORIGIN = 0x9D1FC000, LENGTH = 0x4000
kseg1_eeprom_mem : ORIGIN = 0xBD1FC000, LENGTH = 0x4000
kseg0_boot_mem : ORIGIN = 0x9FC004B0, LENGTH = 0x0
kseg1_boot_mem : ORIGIN = 0xBFC00000, LENGTH = 0x480
kseg1_boot_mem_4B0 : ORIGIN = 0xBFC004B0, LENGTH = 0xFA50
configsfrs : ORIGIN = 0xBFC0FFC0, LENGTH = 0x10
config_BFC0FF40 : ORIGIN = 0xBFC0FF40, LENGTH = 0x4
config_BFC0FF44 : ORIGIN = 0xBFC0FF44, LENGTH = 0x4
config_BFC0FF48 : ORIGIN = 0xBFC0FF48, LENGTH = 0x4
config_BFC0FF4C : ORIGIN = 0xBFC0FF4C, LENGTH = 0x4
config_BFC0FF50 : ORIGIN = 0xBFC0FF50, LENGTH = 0x4
config_BFC0FF54 : ORIGIN = 0xBFC0FF54, LENGTH = 0x4
config_BFC0FF58 : ORIGIN = 0xBFC0FF58, LENGTH = 0x4
config_BFC0FF5C : ORIGIN = 0xBFC0FF5C, LENGTH = 0x4
config_BFC0FF60 : ORIGIN = 0xBFC0FF60, LENGTH = 0x4
config_BFC0FF64 : ORIGIN = 0xBFC0FF64, LENGTH = 0x4
config_BFC0FF68 : ORIGIN = 0xBFC0FF68, LENGTH = 0x4
config_BFC0FF6C : ORIGIN = 0xBFC0FF6C, LENGTH = 0x4
config_BFC0FF70 : ORIGIN = 0xBFC0FF70, LENGTH = 0x4
config_BFC0FF74 : ORIGIN = 0xBFC0FF74, LENGTH = 0x4
config_BFC0FF78 : ORIGIN = 0xBFC0FF78, LENGTH = 0x4
config_BFC0FF7C : ORIGIN = 0xBFC0FF7C, LENGTH = 0x4
config_BFC0FFC0 : ORIGIN = 0xBFC0FFC0, LENGTH = 0x4
config_BFC0FFC4 : ORIGIN = 0xBFC0FFC4, LENGTH = 0x4
config_BFC0FFC8 : ORIGIN = 0xBFC0FFC8, LENGTH = 0x4
config_BFC0FFCC : ORIGIN = 0xBFC0FFCC, LENGTH = 0x4
config_BFC0FFD0 : ORIGIN = 0xBFC0FFD0, LENGTH = 0x4
config_BFC0FFD4 : ORIGIN = 0xBFC0FFD4, LENGTH = 0x4
config_BFC0FFD8 : ORIGIN = 0xBFC0FFD8, LENGTH = 0x4
config_BFC0FFDC : ORIGIN = 0xBFC0FFDC, LENGTH = 0x4
config_BFC0FFE0 : ORIGIN = 0xBFC0FFE0, LENGTH = 0x4
config_BFC0FFE4 : ORIGIN = 0xBFC0FFE4, LENGTH = 0x4
config_BFC0FFE8 : ORIGIN = 0xBFC0FFE8, LENGTH = 0x4
config_BFC0FFEC : ORIGIN = 0xBFC0FFEC, LENGTH = 0x4
config_BFC0FFF0 : ORIGIN = 0xBFC0FFF0, LENGTH = 0x4
config_BFC0FFF4 : ORIGIN = 0xBFC0FFF4, LENGTH = 0x4
config_BFC0FFF8 : ORIGIN = 0xBFC0FFF8, LENGTH = 0x4
config_BFC0FFFC : ORIGIN = 0xBFC0FFFC, LENGTH = 0x4
lowerbootaliaslastpage : ORIGIN = 0xBFC10000, LENGTH = 0x4000
upperbootalias : ORIGIN = 0xBFC20000, LENGTH = 0xFF00
config_BFC2FF40 : ORIGIN = 0xBFC2FF40, LENGTH = 0x4
config_BFC2FF44 : ORIGIN = 0xBFC2FF44, LENGTH = 0x4
config_BFC2FF48 : ORIGIN = 0xBFC2FF48, LENGTH = 0x4
config_BFC2FF4C : ORIGIN = 0xBFC2FF4C, LENGTH = 0x4
config_BFC2FF50 : ORIGIN = 0xBFC2FF50, LENGTH = 0x4
config_BFC2FF54 : ORIGIN = 0xBFC2FF54, LENGTH = 0x4
config_BFC2FF58 : ORIGIN = 0xBFC2FF58, LENGTH = 0x4
config_BFC2FF5C : ORIGIN = 0xBFC2FF5C, LENGTH = 0x4
config_BFC2FF60 : ORIGIN = 0xBFC2FF60, LENGTH = 0x4
config_BFC2FF64 : ORIGIN = 0xBFC2FF64, LENGTH = 0x4
config_BFC2FF68 : ORIGIN = 0xBFC2FF68, LENGTH = 0x4
config_BFC2FF6C : ORIGIN = 0xBFC2FF6C, LENGTH = 0x4
config_BFC2FF70 : ORIGIN = 0xBFC2FF70, LENGTH = 0x4
config_BFC2FF74 : ORIGIN = 0xBFC2FF74, LENGTH = 0x4
config_BFC2FF78 : ORIGIN = 0xBFC2FF78, LENGTH = 0x4
config_BFC2FF7C : ORIGIN = 0xBFC2FF7C, LENGTH = 0x4
config_BFC2FFC0 : ORIGIN = 0xBFC2FFC0, LENGTH = 0x4
config_BFC2FFC4 : ORIGIN = 0xBFC2FFC4, LENGTH = 0x4
config_BFC2FFC8 : ORIGIN = 0xBFC2FFC8, LENGTH = 0x4
config_BFC2FFCC : ORIGIN = 0xBFC2FFCC, LENGTH = 0x4
config_BFC2FFD0 : ORIGIN = 0xBFC2FFD0, LENGTH = 0x4
config_BFC2FFD4 : ORIGIN = 0xBFC2FFD4, LENGTH = 0x4
config_BFC2FFD8 : ORIGIN = 0xBFC2FFD8, LENGTH = 0x4
config_BFC2FFDC : ORIGIN = 0xBFC2FFDC, LENGTH = 0x4
config_BFC2FFE0 : ORIGIN = 0xBFC2FFE0, LENGTH = 0x4
config_BFC2FFE4 : ORIGIN = 0xBFC2FFE4, LENGTH = 0x4
config_BFC2FFE8 : ORIGIN = 0xBFC2FFE8, LENGTH = 0x4
config_BFC2FFEC : ORIGIN = 0xBFC2FFEC, LENGTH = 0x4
config_BFC2FFF0 : ORIGIN = 0xBFC2FFF0, LENGTH = 0x4
config_BFC2FFF4 : ORIGIN = 0xBFC2FFF4, LENGTH = 0x4
config_BFC2FFF8 : ORIGIN = 0xBFC2FFF8, LENGTH = 0x4
config_BFC2FFFC : ORIGIN = 0xBFC2FFFC, LENGTH = 0x4
upperbootaliaslastpage : ORIGIN = 0xBFC30000, LENGTH = 0x4000
boot1 : ORIGIN = 0xBFC40000, LENGTH = 0xFF00
config_BFC4FF40 : ORIGIN = 0xBFC4FF40, LENGTH = 0x4
config_BFC4FF44 : ORIGIN = 0xBFC4FF44, LENGTH = 0x4
config_BFC4FF48 : ORIGIN = 0xBFC4FF48, LENGTH = 0x4
config_BFC4FF4C : ORIGIN = 0xBFC4FF4C, LENGTH = 0x4
config_BFC4FF50 : ORIGIN = 0xBFC4FF50, LENGTH = 0x4
config_BFC4FF54 : ORIGIN = 0xBFC4FF54, LENGTH = 0x4
config_BFC4FF58 : ORIGIN = 0xBFC4FF58, LENGTH = 0x4
config_BFC4FF5C : ORIGIN = 0xBFC4FF5C, LENGTH = 0x4
config_BFC4FF60 : ORIGIN = 0xBFC4FF60, LENGTH = 0x4
config_BFC4FF64 : ORIGIN = 0xBFC4FF64, LENGTH = 0x4
config_BFC4FF68 : ORIGIN = 0xBFC4FF68, LENGTH = 0x4
config_BFC4FF6C : ORIGIN = 0xBFC4FF6C, LENGTH = 0x4
config_BFC4FF70 : ORIGIN = 0xBFC4FF70, LENGTH = 0x4
config_BFC4FF74 : ORIGIN = 0xBFC4FF74, LENGTH = 0x4
config_BFC4FF78 : ORIGIN = 0xBFC4FF78, LENGTH = 0x4
config_BFC4FF7C : ORIGIN = 0xBFC4FF7C, LENGTH = 0x4
config_BFC4FFC0 : ORIGIN = 0xBFC4FFC0, LENGTH = 0x4
config_BFC4FFC4 : ORIGIN = 0xBFC4FFC4, LENGTH = 0x4
config_BFC4FFC8 : ORIGIN = 0xBFC4FFC8, LENGTH = 0x4
config_BFC4FFCC : ORIGIN = 0xBFC4FFCC, LENGTH = 0x4
config_BFC4FFD0 : ORIGIN = 0xBFC4FFD0, LENGTH = 0x4
config_BFC4FFD4 : ORIGIN = 0xBFC4FFD4, LENGTH = 0x4
config_BFC4FFD8 : ORIGIN = 0xBFC4FFD8, LENGTH = 0x4
config_BFC4FFDC : ORIGIN = 0xBFC4FFDC, LENGTH = 0x4
config_BFC4FFE0 : ORIGIN = 0xBFC4FFE0, LENGTH = 0x4
config_BFC4FFE4 : ORIGIN = 0xBFC4FFE4, LENGTH = 0x4
config_BFC4FFE8 : ORIGIN = 0xBFC4FFE8, LENGTH = 0x4
config_BFC4FFEC : ORIGIN = 0xBFC4FFEC, LENGTH = 0x4
config_BFC4FFF0 : ORIGIN = 0xBFC4FFF0, LENGTH = 0x4
config_BFC4FFF4 : ORIGIN = 0xBFC4FFF4, LENGTH = 0x4
config_BFC4FFF8 : ORIGIN = 0xBFC4FFF8, LENGTH = 0x4
config_BFC4FFFC : ORIGIN = 0xBFC4FFFC, LENGTH = 0x4
boot1lastpage : ORIGIN = 0xBFC50000, LENGTH = 0x4000
config_BFC54000 : ORIGIN = 0xBFC54000, LENGTH = 0x4
config_BFC54004 : ORIGIN = 0xBFC54004, LENGTH = 0x4
config_BFC54008 : ORIGIN = 0xBFC54008, LENGTH = 0x4
config_BFC5400C : ORIGIN = 0xBFC5400C, LENGTH = 0x4
config_BFC54010 : ORIGIN = 0xBFC54010, LENGTH = 0x4
config_BFC5401C : ORIGIN = 0xBFC5401C, LENGTH = 0x4
config_BFC54020 : ORIGIN = 0xBFC54020, LENGTH = 0x4
config_BFC54024 : ORIGIN = 0xBFC54024, LENGTH = 0x4
boot2 : ORIGIN = 0xBFC60000, LENGTH = 0xFF00
config_BFC6FF40 : ORIGIN = 0xBFC6FF40, LENGTH = 0x4
config_BFC6FF44 : ORIGIN = 0xBFC6FF44, LENGTH = 0x4
config_BFC6FF48 : ORIGIN = 0xBFC6FF48, LENGTH = 0x4
config_BFC6FF4C : ORIGIN = 0xBFC6FF4C, LENGTH = 0x4
config_BFC6FF50 : ORIGIN = 0xBFC6FF50, LENGTH = 0x4
config_BFC6FF54 : ORIGIN = 0xBFC6FF54, LENGTH = 0x4
config_BFC6FF58 : ORIGIN = 0xBFC6FF58, LENGTH = 0x4
config_BFC6FF5C : ORIGIN = 0xBFC6FF5C, LENGTH = 0x4
config_BFC6FF60 : ORIGIN = 0xBFC6FF60, LENGTH = 0x4
config_BFC6FF64 : ORIGIN = 0xBFC6FF64, LENGTH = 0x4
config_BFC6FF68 : ORIGIN = 0xBFC6FF68, LENGTH = 0x4
config_BFC6FF6C : ORIGIN = 0xBFC6FF6C, LENGTH = 0x4
config_BFC6FF70 : ORIGIN = 0xBFC6FF70, LENGTH = 0x4
config_BFC6FF74 : ORIGIN = 0xBFC6FF74, LENGTH = 0x4
config_BFC6FF78 : ORIGIN = 0xBFC6FF78, LENGTH = 0x4
config_BFC6FF7C : ORIGIN = 0xBFC6FF7C, LENGTH = 0x4
config_BFC6FFC0 : ORIGIN = 0xBFC6FFC0, LENGTH = 0x4
config_BFC6FFC4 : ORIGIN = 0xBFC6FFC4, LENGTH = 0x4
config_BFC6FFC8 : ORIGIN = 0xBFC6FFC8, LENGTH = 0x4
config_BFC6FFCC : ORIGIN = 0xBFC6FFCC, LENGTH = 0x4
config_BFC6FFD0 : ORIGIN = 0xBFC6FFD0, LENGTH = 0x4
config_BFC6FFD4 : ORIGIN = 0xBFC6FFD4, LENGTH = 0x4
config_BFC6FFD8 : ORIGIN = 0xBFC6FFD8, LENGTH = 0x4
config_BFC6FFDC : ORIGIN = 0xBFC6FFDC, LENGTH = 0x4
config_BFC6FFE0 : ORIGIN = 0xBFC6FFE0, LENGTH = 0x4
config_BFC6FFE4 : ORIGIN = 0xBFC6FFE4, LENGTH = 0x4
config_BFC6FFE8 : ORIGIN = 0xBFC6FFE8, LENGTH = 0x4
config_BFC6FFEC : ORIGIN = 0xBFC6FFEC, LENGTH = 0x4
config_BFC6FFF0 : ORIGIN = 0xBFC6FFF0, LENGTH = 0x4
config_BFC6FFF4 : ORIGIN = 0xBFC6FFF4, LENGTH = 0x4
config_BFC6FFF8 : ORIGIN = 0xBFC6FFF8, LENGTH = 0x4
config_BFC6FFFC : ORIGIN = 0xBFC6FFFC, LENGTH = 0x4
boot2lastpage : ORIGIN = 0xBFC70000, LENGTH = 0x4000
kseg0_data_mem (w!x) : ORIGIN = 0x80000000, LENGTH = 0x80000
sfrs : ORIGIN = 0xBF800000, LENGTH = 0x100000
configsfrs_BFC0FF40 : ORIGIN = 0xBFC0FF40, LENGTH = 0x40
configsfrs_BFC0FFC0 : ORIGIN = 0xBFC0FFC0, LENGTH = 0x40
configsfrs_BFC2FF40 : ORIGIN = 0xBFC2FF40, LENGTH = 0x40
configsfrs_BFC2FFC0 : ORIGIN = 0xBFC2FFC0, LENGTH = 0x40
configsfrs_BFC4FF40 : ORIGIN = 0xBFC4FF40, LENGTH = 0x40
configsfrs_BFC4FFC0 : ORIGIN = 0xBFC4FFC0, LENGTH = 0x40
configsfrs_BFC54000 : ORIGIN = 0xBFC54000, LENGTH = 0x20
configsfrs_BFC6FF40 : ORIGIN = 0xBFC6FF40, LENGTH = 0x40
configsfrs_BFC6FFC0 : ORIGIN = 0xBFC6FFC0, LENGTH = 0x40
kseg2_ebi_data_mem : ORIGIN = 0xC0000000, LENGTH = 0x4000000
kseg2_sqi_data_mem : ORIGIN = 0xD0000000, LENGTH = 0x4000000
kseg3_ebi_data_mem : ORIGIN = 0xE0000000, LENGTH = 0x4000000
kseg3_sqi_data_mem : ORIGIN = 0xF0000000, LENGTH = 0x4000000
}
_EEPROM_ADDR = ORIGIN(kseg1_eeprom_mem);
imageReserved = 0x00000000 ;
_imageMPIDE = 0x00000001 ; /* This is a normal MPIDE sketch */
_imageBootFlashBootloader = 0x00000002 ; /* This is a boot flash bootloader */
_imageProgramFlashBootloader = 0x00000004 ; /* This is a program flash bootloader */
_imageSplitFlashBootloader = 0x00000008 ; /* This has bootloader code in both boot and program flash */
/*
* Instructions for the bootloader
*/
_imageFullFlashEraseLess4KEEProm = 0x00010000 ; /* The original bootloader method of erasing all of program flash except the last 4K reserved for eeprom */
_imageJustInTimeFlashErase = 0x00020000 ; /* Only flash pages written too needed by the sketch is erased */
_imageLinkerSpecifiedFlashErase = 0x00040000 ; /* The linker defines the flash range to erase */
_imageFullFlashErase = 0x00080000 ; /* All of flash is erased */
_imageExecutionJumpAddress = 0x01000000 ; /* the bootloader will jump to the execution jump address immediately after programming */
_imageExecutionJumpToFirstInFlash = 0x02000000 ; /* the bootloader will jump to the first sketch loaded in flash ignoring the execution jump address immediately after programming */
_IMAGE_TYPE = _imageMPIDE | _imageJustInTimeFlashErase | _imageExecutionJumpAddress;
_IMAGE_FLASH_SIZE = LENGTH(kseg0_vector_mem) + LENGTH(kseg0_program_mem);
_JUMP_ADDR = _RESET_ADDR;