;/*******************************************************************************
;* DISCLAIMER
;* This software is supplied by Renesas Electronics Corporation and is only
;* intended for use with Renesas products. No other uses are authorized. This
;* software is owned by Renesas Electronics Corporation and is protected under
;* all applicable laws, including copyright laws.
;* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING
;* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT
;* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
;* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.
;* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS
;* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE
;* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR
;* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE
;* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
;* Renesas reserves the right, without notice, to make changes to this software
;* and to discontinue the availability of this software. By using this software,
;* you agree to the additional terms and conditions found by accessing the
;* following link:
;* http://www.renesas.com/disclaimer
;*
;* Copyright (C) 2012 Renesas Electronics Corporation. All rights reserved.
;*******************************************************************************/
;/*******************************************************************************
;* File Name     : scatter.scat
;* Version       : 0.01
;* Device(s)     : Aragon
;* Tool-Chain    : DS-5 Ver 5.8
;*                 ARM Complier 
;*               : 
;* H/W Platform  : Aragon CPU Board
;* Description   : Aragon Sample Program scatter file
;*******************************************************************************/
;/*******************************************************************************
;* History : DD.MM.YYYY Version Description
;*         : 23.05.2012 0.01
;*******************************************************************************/

LOAD_MODULE3 0x20020000 0x209FFFFF              ;; Internal RAM Area (0x20020000-0x2003FFFF)
{
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;    use as RAM Area    ;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;
    VECTOR_MIRROR_TABLE     0x20020000          ;; Internal RAM Area (0x20020000-0x200200FF)
    {   * (VECTOR_MIRROR_TABLE)         }       ;; Vector table
	
	CODE 					+0			FIXED
	{	* (+RO-CODE) 				}

	CONST					+0			FIXED
	{	* (+RO-DATA) 				}

	DATA					+0
	{	* (+RW) 					}

	BSS						+0
	{	* (+ZI)						}

	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	;;    use as RAM Area(2)    ;;
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	ARM_LIB_HEAP			0x20080000	EMPTY  0x00008000	; Application heap
	{ }

	ARM_LIB_STACK			0x20090000	EMPTY  -0x00008000	; Application stack
	{ }

	IRQ_STACK				0x20092000	EMPTY  -0x00002000	; IRQ mode stack
	{ }

	FIQ_STACK				0x20094000	EMPTY  -0x00002000	; FRQ mode stack
	{ }

	SVC_STACK				0x20096000	EMPTY  -0x00002000	; SVC mode stack
	{ }

	ABT_STACK				0x20098000	EMPTY  -0x00002000	; ABT mode stack
	{ }

	TTB						(0x20098000 AND 0xFFFFC000)	EMPTY	0x00008000	; Level-1 Translation Table for MMU
	{ }
}
