
;/*****************************************************************************
;*  Copyright Statement:
;*  --------------------
;*  This software is protected by Copyright and the information contained
;*  herein is confidential. The software may not be copied and the information
;*  contained herein may not be used or disclosed except with the written
;*  permission of MediaTek Inc. (C) 2007
;*
;*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
;*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
;*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
;*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
;*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
;*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
;*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
;*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
;*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
;*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
;*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
;*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
;*
;*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
;*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
;*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
;*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
;*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
;*
;*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
;*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
;*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
;*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
;*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
;*
;*****************************************************************************/
;
;/*****************************************************************************
; *
; * Filename:
; * ---------
; *   scatFISE50D_11B_flashtool.txt
; *
; * Project:
; * --------
; *   Maui_Software
; *
; * Description:
; * ------------
; *   defines the memory map for the validation board
; *
; * Author:
; * -------
; *   system auto generator v4.48 -> p4.54 -> p4.58 -> p4.67 -> p4.75 -> p4.43 -> p4.49 -> p4.53 -> p4.55 -> p4.57 -> p4.63 -> p4.71 -> p4.88 -> p4.91 -> p5.09 -> p5.12 -> p5.28 -> p5.32 -> p5.35 -> p5.36 -> p5.03 -> p5.53 -> p5.70 -> p5.71 -> p5.72 -> p5.73 -> p5.74 -> p5.78 -> p5.82 -> p5.84 -> p5.60 -> p5.92 -> p5.93 -> p5.94 -> p5.95 -> p5.85 -> p5.96 -> p5.97 -> p5.99 -> p6.00 -> p6.01 -> p6.02 -> p4.87 -> p6.03 -> p6.05 -> p6.06 -> p6.08 -> p6.09 -> p6.10 -> p5.31 -> p6.14 -> p6.16 + sysGenUtility v0.17 -> p0.20 -> p0.21 -> p0.15
; *
; * Auto Generated Date:
; * -------
; *   2012/9/29
; *
; * Revision History:
; * -------
; * $Log: scatFISE50D_11B_flashtool.txt system auto generator v4.48 -> p4.54 -> p4.58 -> p4.67 -> p4.75 -> p4.43 -> p4.49 -> p4.53 -> p4.55 -> p4.57 -> p4.63 -> p4.71 -> p4.88 -> p4.91 -> p5.09 -> p5.12 -> p5.28 -> p5.32 -> p5.35 -> p5.36 -> p5.03 -> p5.53 -> p5.70 -> p5.71 -> p5.72 -> p5.73 -> p5.74 -> p5.78 -> p5.82 -> p5.84 -> p5.60 -> p5.92 -> p5.93 -> p5.94 -> p5.95 -> p5.85 -> p5.96 -> p5.97 -> p5.99 -> p6.00 -> p6.01 -> p6.02 -> p4.87 -> p6.03 -> p6.05 -> p6.06 -> p6.08 -> p6.09 -> p6.10 -> p5.31 -> p6.14 -> p6.16 + sysGenUtility v0.17 -> p0.20 -> p0.21 -> p0.15 $
; * 
; ****************************************************************************/
;
;=========================================================================
; This scatter file is auto-generated and please DO NOT change the content at will
;=========================================================================
;
;--------------------
; SCHEME   : external 3.70703125MB flash memory and 4MB SRAM
; PLATFORM : MT6250
; FEATURES : ESBNOR 
;--------------------

BOOTLOADER 0x10000800 0x00002800
{
}

EXT_BOOTLOADER 0x10003000 0x00002000
{
}

; ROM Load region is block-aligned
ROM 0x10005000
{
    ROM_GFH 0x10005000 
    {
         *                             (MAUI_GFH, +First)
         *                             (MAUI_GFH_EXT)
    }
    ROM +0x0 0x00000800
    {
         bootarm.obj (C$$code,+First)
         *.obj (LEADING_PART)
    }
    ROM0 +0x0 
    {
         *.obj (SECINFO)
    }
    ROMHEAD +0x0 
    {
         *.obj (SECOND_PART)
         *.obj (MAUI_FOTA_HEAD_INFO)
    }
    ROM1 +0x0 
    {
         *                             (+RO)
; C++ related input sections
         cpp_initialise.o              (+RO-CODE, +RO-DATA)
         cpp_finalise.o                (+RO-CODE, +RO-DATA)
         *                             (C$$pi_ctorvec)
         *                             (C$$pi_dtorvec)
         *                             (C$$ddtorvec)
         *                             (C$$ctor)
         *                             (C$$dtor)
; for RVCT C++ initialize
         init_aeabi.o                  (+RO-CODE, +RO-DATA)
         *                             (.init_array)
         *                             (.ARM.exidx)
         
         "*armlib/*.l"                 (+RO)
         "*cpplib/*.l"                 (+RO)
         *armlib\*.l                   (+RO)
         *cpplib\*.l                   (+RO)
         *armlib*                       (+RO-CODE, +RO-DATA)
         *cpplib*                       (+RO-CODE, +RO-DATA)
         
; ====== Boot-up used ======
         viva.obj (+RO-CODE)
         alice.obj (+RO-CODE)
         init.obj (+RO-CODE)
         init_comm.obj (+RO-CODE)
         cache.obj (+RO-CODE)
         regioninit_ads.obj (+RO-CODE)
         arm_unaligned.obj (+RO-CODE)
         uart.obj (+RO-CODE)
         dcl_gpio.obj (+RO-CODE)
         gpio.obj (+RO-CODE)
         DclH_kbd.obj (+RO-CODE)
         dcl_pw.obj (+RO-CODE)
         tst_assert.obj (+RO-CODE)
         custom_scatstruct.obj (+RO-CODE, +RO-DATA)
         custom_flash.obj (+RO-CODE, +RO-DATA)
         keypad_def.obj (+RO-CODE, +RO-DATA)
         uart_def.obj (+RO-CODE, +RO-DATA)
         
; ====== Interrupt Disabled ======
         tst_trace.obj (+RO-CODE)
         drv_hisr.obj (+RO-CODE)
         kal_mem_mgr.obj (+RO-CODE)
         intrCtrl.obj (+RO-CODE)
         init_memory_stack.obj (+RO-CODE)
         adie_intrctrl.obj (+RO-CODE)
         isrentry.obj (+RO-CODE)
         code_decompression_hal.obj (+RO-CODE)
         simple_memory_manager.obj (+RO-CODE)
         hwlzma.obj (+RO-CODE)
         lzma_dispatcher.obj (+RO-CODE)
         idma.obj (+RO-CODE)
         dsp_ptch_6250_GSM.obj (+RO-CODE)
         ddload.obj (+RO-CODE)
         dsp_init.obj (+RO-CODE)
         gdi_font_show_char.obj (+RO-CODE)
         code_decompression.obj (+RO-CODE)
         bootup_logo.obj (+RO-CODE, +RO-DATA)
         
; ====== Debugging related ======
         *sst.lib (+RO-CODE, +RO-DATA)
         
; ====== Neptune-related obj ======
         LzmaDec.obj (+RO-CODE, +RO-DATA)
         
; ====== default not in zimage ======
         *init.lib (+RO-DATA)
         *dsp_ram.lib (+RO-DATA)
         custom_util.obj (+RO-DATA)
         gpio_var.obj (+RO-DATA)
         *peripheral.lib (+RO-DATA)
         *gfx_drv.lib (+RO-DATA)
         *system.lib (+RO-DATA)
         *kal.lib (+RO-DATA)
         *tst.lib (+RO-DATA)
         *sys_sec.lib (+RO-DATA)
         adc_channel.obj (+RO-CODE, +RO-DATA)
         alerter_tone.obj (+RO-CODE, +RO-DATA)
         exif_custom.obj (+RO-CODE, +RO-DATA)
         irda_custom.obj (+RO-CODE, +RO-DATA)
         kbdmain_joystick.obj (+RO-CODE, +RO-DATA)
         pmic_custom.obj (+RO-CODE, +RO-DATA)
         touch_panel_spi.obj (+RO-CODE, +RO-DATA)
         touchpad.obj (+RO-CODE, +RO-DATA)
         touchpad_keydef.obj (+RO-CODE, +RO-DATA)
         tv_custom.obj (+RO-CODE, +RO-DATA)
         usb_host_ms_custom.obj (+RO-CODE, +RO-DATA)
         Ext_Charger_*.obj (+RO-CODE, +RO-DATA)
         Ext_Cable_*.obj (+RO-CODE, +RO-DATA)
         cs_fac_det*.obj (+RO-CODE, +RO-DATA)
         custNFBProgressImg.obj (+RO-CODE, +RO-DATA)
         mdi_tv.obj (+RO-CODE, +RO-DATA)
         MiscUtils.obj (+RO-CODE, +RO-DATA)
         ul1sm.obj (+RO-CODE, +RO-DATA)
         bl_SC624.obj (+RO-CODE, +RO-DATA)
         ws_fs_api.obj (+RO-CODE, +RO-DATA)
         bn_lib.obj (+RO-CODE, +RO-DATA)
         X509.obj (+RO-CODE, +RO-DATA)
         
; ====== Poor compression ratio ======
         *hanwang.lib (+RO-DATA)
         *mre_custom.lib (+RO-DATA)
         kmxime_latin.o (+RO-DATA)
         *                             (PRIMARY_ROCODE, PRIMARY_RODATA)
    }
    SINGLE_BANK_CODE 0x00000200 
    {
;for single bank support , certain following code need to be called by sleep manager
         bootarm.obj (SNORCODE,+First)
         * (SNORCODE)
         * (SNORCONST)
    }
    EXTSRAM_ALICE 0x00002000 0x6000
    {
         * (ALICE_RAM)
    }
    EXTSRAM 0x00008000 
    {
         * (NONCACHEDRW, NONCACHEDZI)
         *deniro.lib (+RW, +ZI)
         *fs_fig.lib (+RW, +ZI)
    }
    DYNAMIC_CACHEABLE_EXTSRAM_DEFAULT_NONCACHEABLE_ZI +0x2000 
    {
         med_main.obj (LARGEPOOL_ZI)
         * (DYNAMICCACHEABLEZI_NC)
    }
    DYNAMIC_CACHEABLE_EXTSRAM_DEFAULT_NONCACHEABLE_RW +0x0 
    {
         * (DYNAMICCACHEABLERW_NC)
    }
    CACHED_EXTSRAM +0xF0002000
    {
; All RW/ZI are put in CACHED region by default
         * (+RW, +ZI)
         * (CACHED_EXTSRAM_RW, CACHED_EXTSRAM_ZI)
    }
    DYNAMIC_CACHEABLE_EXTSRAM_DEFAULT_CACHEABLE_RW +0x2000 
    {
         * (DYNAMICCACHEABLERW_C)
    }
    DYNAMIC_CACHEABLE_EXTSRAM_DEFAULT_CACHEABLE_ZI +0x0 
    {
         * (DYNAMICCACHEABLEZI_C)
    }
    CACHED_DUMMY_END 0xf03eb000 
    {
         bootarm.obj (DUMMY_POOL)
    }
; DSP execution regions cannot be OVERLAY; its size should be specified as 2^N, larger than 4KB, and should align with its start address
    EXTSRAM_DSP_TX 0x003eb000 0x6000
    {
         *.obj (EXTRAM_TXDATA)
    }
    EXTSRAM_DSP_RX 0x003f1000 0xf000
    {
         *.obj (EXTRAM_RXDATA)
    }
    ; define an empty section to detect unsafe APIs in link time
    SHOULDBE_EMPTYSECTION +0 0x0
    {
        armlibc_rt.obj (SHOULD_NOT_USED_FUNCTION)
        armlibc_rt_heap.obj (SHOULD_NOT_USED_FUNCTION)
        armlibc_rt_io.obj (SHOULD_NOT_USED_FUNCTION)
        syscomp_config.obj (SHOULD_NOT_USED_RODATA)
    }
    EMIINIT_CODE 0x70008000 OVERLAY
    {
        * (EMIINITCODE, EMIINITCONST, EMIINITZI, EMIINITRW)
    }
    INTSRAM_CODE 0x70008000 OVERLAY 0x2800
    {
; Please do NOT remove any content below!
         * (INTSRAM_ROCODE)
         * (INTSRAM_ROCODE_*)
         switch8.o (+RO-CODE)
; system-realted CODE , Extra SMALL set
         bootarm.obj (INTERNCODE)
         SST_intrCtrl.obj (INTERNCODE, INTERNCONST)
         cache.obj (INTERNCODE)
; THREADX-related CODE , SMALL set
         ; UNDER CONSTRUCTION
         tx_thread_interrupt_disable.obj (+RO)
         tx_thread_interrupt_restore.obj (+RO)
         tx_thread_context_save.obj (+RO)
         tx_thread_context_restore.obj (+RO)
         tx_thread_irq_nesting_start.obj (+RO)
         tx_thread_irq_nesting_end.obj (+RO)
         tx_thread_system_return.obj (+RO)
         tx_thread_schedule.obj (+RO)
         tx_thread_resume.obj (+RO)
         tx_thread_system_resume.obj (+RO)
         tx_timer_interrupt.obj (+RO)
         tx_timer_thread_entry.obj (+RO)
         tx_block_allocate.obj (+RO)
         tx_block_release.obj (+RO)
         tx_event_flags_get.obj (+RO)
         tx_event_flags_set.obj (+RO)
         tx_mutex_get.obj (+RO)
         tx_mutex_put.obj (+RO)
         kal_threadx_tasks.obj (INTERNCODE)
         kal_threadx_buff_mgr.obj (INTERNCODE)
         kal_threadx_itc.obj (INTERNCODE)
         kal_threadx_timer.obj (INTERNCODE)
; common used C library
         memset.o (+RO-CODE, +RO-DATA)
         rt_memclr.o (+RO-CODE, +RO-DATA)
         callvia.o (+RO-CODE, +RO-DATA)
         _sprintf.o (+RO-CODE, +RO-DATA)
         rt_memcpy.o (+RO-CODE, +RO-DATA)
         lludiv10.o (+RO-CODE, +RO-DATA)
         rt_udiv.o (+RO-CODE, +RO-DATA)
         uread4.o (+RO-CODE, +RO-DATA)
         uwrite4.o (+RO-CODE, +RO-DATA)

; Please do NOT remove any content above!
    }
    INTSRAM_DATA 0x7000A800 0x0C00
    {
; Please do NOT remove any content below!
         * (INTSRAM_RODATA, INTSRAM_RW, INTSRAM_ZI)
         * (INTSRAM_RODATA_*, INTSRAM_RW_*, INTSRAM_ZI_*)
; system-realted data
         stack_init.obj (INTERNCONST, INTERNRW, INTERNZI)
; THREADX-related data ; Standard set
         tx_thread_initialize.obj (+RW, +ZI)
         tx_timer_initialize.obj (+RW, +ZI)

; Please do NOT remove any content above!
    }   
    INTSRAM_DATA_PREINIT +0x0 0x0C00
    {
; data passed from bootloader to maui
         * (PREINIT_INTSRAM_RODATA, PREINIT_INTSRAM_RW, PREINIT_INTSRAM_ZI)
; Please do NOT remove any content below!
         uart.obj (INTSRAM_RODATA, INTSRAM_RW, INTSRAM_ZI)
         *system.lib (INTSRAM_RODATA, INTSRAM_RW, INTSRAM_ZI)
         *init.lib (INTSRAM_RODATA, INTSRAM_RW, INTSRAM_ZI)
; system-realted data
         bootarm.obj (STACK_POOL_INTSRAM)
; Please do NOT remove any content above!
    }   
    ;INTSRAM_DUMMY_END=INTSRAM_DATA base+size (Shared with INTSRAM_DATA_PREINIT)
    INTSRAM_DUMMY_END 0x7000B400
    {
         bootarm.obj (INTSRAM_END)
    }
    ROM_SIGNATURE_SECTION +0x0
    {
         *                             (MAUI_SIGNATURE_SECTION)
    }
}
VIVA +0x400 0x4c
{
    VIVA_GFH +0x0 ; Only exist on SV5 platform
    {
        *                             (VIVA_GFH)
    }

    VIVA +0x0
    {
        *                             (VIVA)
    }
}








