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