1 |
589 |
jeremybenn |
/******************************************************************************
|
2 |
|
|
* AVR32 AT32UC3A1512 XLINK command file for AVR32 IAR C/C++ Compiler.
|
3 |
|
|
*
|
4 |
|
|
* The assumed memory layout is the one of the AT32UC3A1512:
|
5 |
|
|
*
|
6 |
|
|
* Start Stop Name Type
|
7 |
|
|
* ---------- ---------- ----- --------------
|
8 |
|
|
* 0x00000000 0x0000FFFF SRAM RAM
|
9 |
|
|
* 0x80000000 0x8007FFFF FLASH FLASH
|
10 |
|
|
*
|
11 |
|
|
* Usage: xlink your_file(s) -f xcl-file libraries
|
12 |
|
|
*
|
13 |
|
|
* - Compiler: IAR EWAVR32
|
14 |
|
|
* - Supported devices: AVR32 AT32UC3A1512
|
15 |
|
|
*
|
16 |
|
|
* - author Atmel Corporation: http://www.atmel.com \n
|
17 |
|
|
* Support and FAQ: http://support.atmel.no/
|
18 |
|
|
*
|
19 |
|
|
******************************************************************************/
|
20 |
|
|
|
21 |
|
|
/* Copyright (c) 2007, Atmel Corporation All rights reserved.
|
22 |
|
|
*
|
23 |
|
|
* Redistribution and use in source and binary forms, with or without
|
24 |
|
|
* modification, are permitted provided that the following conditions are met:
|
25 |
|
|
*
|
26 |
|
|
* 1. Redistributions of source code must retain the above copyright notice,
|
27 |
|
|
* this list of conditions and the following disclaimer.
|
28 |
|
|
*
|
29 |
|
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
30 |
|
|
* this list of conditions and the following disclaimer in the documentation
|
31 |
|
|
* and/or other materials provided with the distribution.
|
32 |
|
|
*
|
33 |
|
|
* 3. The name of ATMEL may not be used to endorse or promote products derived
|
34 |
|
|
* from this software without specific prior written permission.
|
35 |
|
|
*
|
36 |
|
|
* THIS SOFTWARE IS PROVIDED BY ATMEL ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
37 |
|
|
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
38 |
|
|
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND
|
39 |
|
|
* SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT,
|
40 |
|
|
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
41 |
|
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
42 |
|
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
43 |
|
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
44 |
|
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
45 |
|
|
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
46 |
|
|
*/
|
47 |
|
|
|
48 |
|
|
|
49 |
|
|
/************************************************************************/
|
50 |
|
|
/* The following segments are defined in this link file: */
|
51 |
|
|
/* */
|
52 |
|
|
/* Code segments */
|
53 |
|
|
/* CODE32 -- Program code used by __code32 functions. */
|
54 |
|
|
/* RESET -- Reset code. */
|
55 |
|
|
/* EVSEG -- Exception vector handlers. */
|
56 |
|
|
/* */
|
57 |
|
|
/* Constant segments */
|
58 |
|
|
/* INITTAB -- Segment initializer table. */
|
59 |
|
|
/* DIFUNCT -- Dynamic initialization vector used by C++. */
|
60 |
|
|
/* SWITCH -- Switch tables. */
|
61 |
|
|
/* ACTAB -- Table of pointers to acall functions. */
|
62 |
|
|
/* */
|
63 |
|
|
/* DATA21_ID -- Initialization data for DATA21_I. */
|
64 |
|
|
/* DATA32_ID -- Initialization data for DATA32_I. */
|
65 |
|
|
/* DATA32_C -- Constant __data32 data. */
|
66 |
|
|
/* */
|
67 |
|
|
/* CHECKSUM -- Checksum segment. */
|
68 |
|
|
/* */
|
69 |
|
|
/* Data segments */
|
70 |
|
|
/* DATA21_I -- Initialized __data21 data with non-zero */
|
71 |
|
|
/* initial value. */
|
72 |
|
|
/* DATA32_I -- Initialized __data32 data with non-zero */
|
73 |
|
|
/* initial value. */
|
74 |
|
|
/* DATA21_Z -- Initialized __data21 data with zero initial value. */
|
75 |
|
|
/* DATA32_Z -- Initialized __data32 data with zero initial value. */
|
76 |
|
|
/* DATA21_N -- Non-initialized __data21. */
|
77 |
|
|
/* DATA32_N -- Non-initialized __data32. */
|
78 |
|
|
/* SSTACK -- The system stack. */
|
79 |
|
|
/* CSTACK -- The application stack. */
|
80 |
|
|
/* HEAP -- The heap used by malloc and free. */
|
81 |
|
|
/* */
|
82 |
|
|
/************************************************************************/
|
83 |
|
|
|
84 |
|
|
/************************************************************************/
|
85 |
|
|
/* Define CPU */
|
86 |
|
|
/************************************************************************/
|
87 |
|
|
|
88 |
|
|
-cavr32
|
89 |
|
|
|
90 |
|
|
// Declare the IPR0 memory location
|
91 |
|
|
-DIPR0=FFFF0800
|
92 |
|
|
|
93 |
|
|
/************************************************************************/
|
94 |
|
|
/* Reset code is located at address 0x80000000 and up. */
|
95 |
|
|
/************************************************************************/
|
96 |
|
|
|
97 |
|
|
-Z(CODE)RESET=80000000-8007FFFF
|
98 |
|
|
|
99 |
|
|
/************************************************************************/
|
100 |
|
|
/* The exception handler code is located at address 0x80000000 */
|
101 |
|
|
/* and up. Make sure that the exception table gets properly */
|
102 |
|
|
/* allocated. By using the special -Z@ allocation primitive, the */
|
103 |
|
|
/* placement is guaranteed to be at _EVBASE and onwards. */
|
104 |
|
|
/************************************************************************/
|
105 |
|
|
|
106 |
|
|
-Z@(CODE)EVTAB=80004000-8007FFFF
|
107 |
|
|
-Z@(CODE)EV100=80004100-8007FFFF
|
108 |
|
|
-P(CODE)EVSEG=80004000-8007FFFF
|
109 |
|
|
|
110 |
|
|
/************************************************************************/
|
111 |
|
|
/* Allocate code and const segments. */
|
112 |
|
|
/************************************************************************/
|
113 |
|
|
|
114 |
|
|
-P(CODE)CODE32=80000000-8007FFFF
|
115 |
|
|
-P(CONST)DATA32_C=80000000-8007FFFF
|
116 |
|
|
|
117 |
|
|
// Initializers
|
118 |
|
|
-Z(CONST)INITTAB,DIFUNCT=80000000-8007FFFF
|
119 |
|
|
-Z(CONST)CHECKSUM,SWITCH=80000000-8007FFFF
|
120 |
|
|
-Z(CONST)DATA21_ID,DATA32_ID=80000000-8007FFFF
|
121 |
|
|
|
122 |
|
|
-Z(CONST)ACTAB,HTAB=80000000-8007FFFF
|
123 |
|
|
|
124 |
|
|
/************************************************************************/
|
125 |
|
|
/* Allocate the read/write segments that are mapped to RAM. */
|
126 |
|
|
/************************************************************************/
|
127 |
|
|
|
128 |
|
|
-Z(DATA)DATA21_I,DATA21_Z,DATA21_N=00000004-0000FFFF
|
129 |
|
|
-Z(DATA)DATA32_I,DATA32_Z,DATA32_N=00000004-0000FFFF
|
130 |
|
|
-Z(DATA)TRACEBUFFER=00000004-0000FFFF
|
131 |
|
|
|
132 |
|
|
-Z(DATA)SSTACK+_SSTACK_SIZE#00000004-0000FFFF
|
133 |
|
|
-Z(DATA)CSTACK+_CSTACK_SIZE#00000004-0000FFFF
|
134 |
|
|
-Z(DATA)HEAP+_HEAP_SIZE=00000004-0000FFFF
|
135 |
|
|
|
136 |
|
|
/************************************************************************/
|
137 |
|
|
/* End of File */
|
138 |
|
|
/************************************************************************/
|