/****************************************************************************** * AVR32 AT32UC3A1512 XLINK command file for AVR32 IAR C/C++ Compiler. * * The assumed memory layout is the one of the AT32UC3A1512: * * Start Stop Name Type * ---------- ---------- ----- -------------- * 0x00000000 0x0000FFFF SRAM RAM * 0x80000000 0x8007FFFF FLASH FLASH * * Usage: xlink your_file(s) -f xcl-file libraries * * - Compiler: IAR EWAVR32 * - Supported devices: AVR32 AT32UC3A1512 * * - author Atmel Corporation: http://www.atmel.com \n * Support and FAQ: http://support.atmel.no/ * ******************************************************************************/ /* Copyright (c) 2007, Atmel Corporation All rights reserved. * * 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. The name of ATMEL may not be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY ATMEL ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL 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) HOWEVER 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. */ /************************************************************************/ /* The following segments are defined in this link file: */ /* */ /* Code segments */ /* CODE32 -- Program code used by __code32 functions. */ /* RESET -- Reset code. */ /* EVSEG -- Exception vector handlers. */ /* */ /* Constant segments */ /* INITTAB -- Segment initializer table. */ /* DIFUNCT -- Dynamic initialization vector used by C++. */ /* SWITCH -- Switch tables. */ /* ACTAB -- Table of pointers to acall functions. */ /* */ /* DATA21_ID -- Initialization data for DATA21_I. */ /* DATA32_ID -- Initialization data for DATA32_I. */ /* DATA32_C -- Constant __data32 data. */ /* */ /* CHECKSUM -- Checksum segment. */ /* */ /* Data segments */ /* DATA21_I -- Initialized __data21 data with non-zero */ /* initial value. */ /* DATA32_I -- Initialized __data32 data with non-zero */ /* initial value. */ /* DATA21_Z -- Initialized __data21 data with zero initial value. */ /* DATA32_Z -- Initialized __data32 data with zero initial value. */ /* DATA21_N -- Non-initialized __data21. */ /* DATA32_N -- Non-initialized __data32. */ /* SSTACK -- The system stack. */ /* CSTACK -- The application stack. */ /* HEAP -- The heap used by malloc and free. */ /* */ /************************************************************************/ /************************************************************************/ /* Define CPU */ /************************************************************************/ -cavr32 // Declare the IPR0 memory location -DIPR0=FFFF0800 /************************************************************************/ /* Reset code is located at address 0x80000000 and up. */ /************************************************************************/ -Z(CODE)RESET=80000000-8007FFFF /************************************************************************/ /* The exception handler code is located at address 0x80000000 */ /* and up. Make sure that the exception table gets properly */ /* allocated. By using the special -Z@ allocation primitive, the */ /* placement is guaranteed to be at _EVBASE and onwards. */ /************************************************************************/ -Z@(CODE)EVTAB=80004000-8007FFFF -Z@(CODE)EV100=80004100-8007FFFF -P(CODE)EVSEG=80004000-8007FFFF /************************************************************************/ /* Allocate code and const segments. */ /************************************************************************/ -P(CODE)CODE32=80000000-8007FFFF -P(CONST)DATA32_C=80000000-8007FFFF // Initializers -Z(CONST)INITTAB,DIFUNCT=80000000-8007FFFF -Z(CONST)CHECKSUM,SWITCH=80000000-8007FFFF -Z(CONST)DATA21_ID,DATA32_ID=80000000-8007FFFF -Z(CONST)ACTAB,HTAB=80000000-8007FFFF /************************************************************************/ /* Allocate the read/write segments that are mapped to RAM. */ /************************************************************************/ -Z(DATA)DATA21_I,DATA21_Z,DATA21_N=00000004-0000FFFF -Z(DATA)DATA32_I,DATA32_Z,DATA32_N=00000004-0000FFFF -Z(DATA)TRACEBUFFER=00000004-0000FFFF -Z(DATA)SSTACK+_SSTACK_SIZE#00000004-0000FFFF -Z(DATA)CSTACK+_CSTACK_SIZE#00000004-0000FFFF -Z(DATA)HEAP+_HEAP_SIZE=00000004-0000FFFF /************************************************************************/ /* End of File */ /************************************************************************/