]> git.sur5r.net Git - freertos/blob - Demo/AVR32_UC3/UTILS/LINKER_SCRIPTS/AT32UC3A/1512/IAR/lnkuc3a1512.xcl
Start to re-arrange files to include FreeRTOS+ in main download.
[freertos] / Demo / AVR32_UC3 / UTILS / LINKER_SCRIPTS / AT32UC3A / 1512 / IAR / lnkuc3a1512.xcl
1 /******************************************************************************\r
2  * AVR32 AT32UC3A1512 XLINK command file for AVR32 IAR C/C++ Compiler.\r
3  *\r
4  * The assumed memory layout is the one of the AT32UC3A1512:\r
5  *\r
6  *   Start       Stop        Name     Type\r
7  *   ----------  ----------  -----    --------------\r
8  *   0x00000000  0x0000FFFF  SRAM     RAM\r
9  *   0x80000000  0x8007FFFF  FLASH    FLASH\r
10  *\r
11  * Usage:  xlink  your_file(s)  -f xcl-file  libraries\r
12  *\r
13  * - Compiler:           IAR EWAVR32\r
14  * - Supported devices:  AVR32 AT32UC3A1512\r
15  *\r
16  * - author              Atmel Corporation: http://www.atmel.com \n\r
17  *                       Support and FAQ: http://support.atmel.no/\r
18  *\r
19  ******************************************************************************/\r
20 \r
21 /* Copyright (c) 2007, Atmel Corporation All rights reserved.\r
22  *\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
25  *\r
26  * 1. Redistributions of source code must retain the above copyright notice,\r
27  * this list of conditions and the following disclaimer.\r
28  *\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
32  *\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
35  *\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
46  */\r
47 \r
48 \r
49 /************************************************************************/\r
50 /*      The following segments are defined in this link file:           */\r
51 /*                                                                      */\r
52 /*      Code segments                                                   */\r
53 /*      CODE32    -- Program code used by __code32 functions.           */\r
54 /*      RESET     -- Reset code.                                        */\r
55 /*      EVSEG     -- Exception vector handlers.                         */\r
56 /*                                                                      */\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
62 /*                                                                      */\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
66 /*                                                                      */\r
67 /*      CHECKSUM  -- Checksum segment.                                  */\r
68 /*                                                                      */\r
69 /*      Data segments                                                   */\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
81 /*                                                                      */\r
82 /************************************************************************/\r
83 \r
84 /************************************************************************/\r
85 /*      Define CPU                                                      */\r
86 /************************************************************************/\r
87 \r
88 -cavr32\r
89 \r
90 // Declare the IPR0 memory location\r
91 -DIPR0=FFFF0800\r
92 \r
93 /************************************************************************/\r
94 /*      Reset code is located at address 0x80000000 and up.             */\r
95 /************************************************************************/\r
96 \r
97 -Z(CODE)RESET=80000000-8007FFFF\r
98 \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
105 \r
106 -Z@(CODE)EVTAB=80004000-8007FFFF\r
107 -Z@(CODE)EV100=80004100-8007FFFF\r
108 -P(CODE)EVSEG=80004000-8007FFFF\r
109 \r
110 /************************************************************************/\r
111 /*      Allocate code and const segments.                               */\r
112 /************************************************************************/\r
113 \r
114 -P(CODE)CODE32=80000000-8007FFFF\r
115 -P(CONST)DATA32_C=80000000-8007FFFF\r
116 \r
117 // Initializers\r
118 -Z(CONST)INITTAB,DIFUNCT=80000000-8007FFFF\r
119 -Z(CONST)CHECKSUM,SWITCH=80000000-8007FFFF\r
120 -Z(CONST)DATA21_ID,DATA32_ID=80000000-8007FFFF\r
121 \r
122 -Z(CONST)ACTAB,HTAB=80000000-8007FFFF\r
123 \r
124 /************************************************************************/\r
125 /*      Allocate the read/write segments that are mapped to RAM.        */\r
126 /************************************************************************/\r
127 \r
128 -Z(DATA)DATA21_I,DATA21_Z,DATA21_N=00000004-0000FFFF\r
129 -Z(DATA)DATA32_I,DATA32_Z,DATA32_N=00000004-0000FFFF\r
130 -Z(DATA)TRACEBUFFER=00000004-0000FFFF\r
131 \r
132 -Z(DATA)SSTACK+_SSTACK_SIZE#00000004-0000FFFF\r
133 -Z(DATA)CSTACK+_CSTACK_SIZE#00000004-0000FFFF\r
134 -Z(DATA)HEAP+_HEAP_SIZE=00000004-0000FFFF\r
135 \r
136 /************************************************************************/\r
137 /*      End of File                                                     */\r
138 /************************************************************************/\r