;/*******************************************************************************
;*  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) 2001
;*
;*******************************************************************************/
;
;/*******************************************************************************
; *
; * Filename:
; * ---------
; *	scatmt6227.txt
; *
; * Project:
; * --------
; *   Maui_Software
; *
; * Description:
; * ------------
; *   This Module defines the memory map for the validation board
; *
; * Author:
; * -------
; *	Shalyn Chua
; *
; * Last modified Date:
; * -------
; *   2005/06/17
; *
; *******************************************************************************/

; currently we have swappable external 32MB flash memory and 8MB SRAM
; and internal SRAM of 284KB starting at 0x40000000
; internal SRAM is partitioned as 128KB for code+data, 128KB for frame buffer, 156KB for multi-media
; (THIS CAN BE CHANGED BASED ON REQUIREMENT!!)
; for this file, we define external memory allocation as
; 1. program memory starting at 0x08000000
; 2. data memory starting at 0x00000140
; 3. FAT reserve 2M flash memory from 0x00e00000

ROM 0x08000000 0x00F00000
{
    ROM 0x08000000 0x400000
    {
         bootarm.obj (C$$code,+First)
         *wap.lib (+RO-CODE)
         *plutommi.lib (+RO-CODE)
         *l4_classb.lib (+RO-CODE)
         *mtkapp.lib (+RO-CODE)
         *l1_classb.lib (+RO-CODE)
         *j2me.lib (+RO-CODE)
         *wapadp.lib (+RO-CODE)
         *jam.lib (+RO-CODE)
         *email.lib (+RO-CODE)
         *l4misc.lib (+RO-CODE)
    }
    ROM2 +0x0 0x400000
    {
         .ANY (+RO-CODE)
    }
    ROM3 +0x0
    {
         .ANY (+RO-DATA)
    }
    EXTSRAM 0x00000140 0x003FFEC0
    {
         * (+RW, +ZI)
    }
    INTSRAM_CODE 0x40000380 0xF000
    {
         isrentry.obj (INTERNCODE)
         custom_emi.obj (INTERNCODE)
         data_buff_pool.obj (INTERNCODE)
         ctrl_buff_pool.obj (INTERNCODE)
         stack_buff_pool.obj (INTERNCODE)
         stack_ltlcom.obj (INTERNCODE)
         kal_nucleus_buff_mgr.obj (INTERNCODE)
         kal_nucleus_evshed_buff_mgr.obj (INTERNCODE)
         kal_nucleus_itc.obj (INTERNCODE)
         kal_nucleus_timer.obj (INTERNCODE)
         lcd_dll.obj (INTERNCODE)
         event_shed.obj (INTERNCODE)
         stack_timer.obj (INTERNCODE)
         memset.o (+RO)
         rt_memclr.o (+RO)
         callvia.o (+RO)
         _sprintf.o (+RO)
         rt_memcpy.o (+RO)
         lludiv10.o (+RO)
         rt_udiv.o (+RO)
         tct.obj (+RO)
         tcc.obj (INTERNCODE)
         csc.obj (INTERNCODE)
         tmt.obj (+RO)
         tms.obj (+RO)
         smc.obj (+RO)
         evc.obj (+RO)
         pmc.obj (+RO)
         quc.obj (+RO)
         mpal_gprs_common_func.obj (INTERNCODE)
         mpal_gprs_dl_msg_hdlr.obj (INTERNCODE)
         m11194.obj (INTERNCODE)
         m11191.obj (INTERNCODE)
         l1d_data.obj (INTERNCODE)
         l1d_internal_data.obj (INTERNCODE)
         m12110.obj (INTERNCODE)
         m12120.obj (INTERNCODE)
         m12160.obj (INTERNCODE)
         m12170.obj (INTERNCODE)
         m12168.obj (INTERNCODE)
         m12180.obj (INTERNCODE)
         m11303.obj (INTERNCODE)
         m11305.obj (INTERNCODE)
         m12194.obj (INTERNCODE)
         ait102n.obj (INTERNCODE)
         wav.obj (INTERNCODE)
         wav_codec.obj (INTERNCODE)
         divider.obj (+RO)
         L1Trc.obj (INTERNCODE)
         uart.obj (INTERNCODE)
         gdi_image_gif.obj (INTERNCODE)
         gdi_bytestream.obj (INTERNCODE)
         gdi_image_direct_gif.obj (INTERNCODE)
         gdi_mutex.obj (INTERNCODE)
         bytecodesasm.obj (INTERNCODE)
         j2me_custom_lcd.obj(INTERNCODE)
         execute.obj (INTERNCODE)
         native.obj (INTERNCODE)
         *rompatch.lib (INTERNCODE)
         file62.o (INTERNCODE)
         file12.o (INTERNCODE)
         file71.o (INTERNCODE)
    }
    INTSRAM_DATA 0x4000F380 0x9480
    {
         init_memory_stack.obj (INTERNCONST, INTERNRW, INTERNZI)
         isrentry.obj (INTERNCONST, INTERNRW, INTERNZI)
         stack_init.obj (INTERNCONST, INTERNRW, INTERNZI)
         ctrl_buff_pool.obj (INTERNCONST, INTERNRW, INTERNZI)
         stack_ltlcom.obj (INTERNCONST, INTERNRW, INTERNZI)
         tst*.obj (INTERNCONST, INTERNRW, INTERNZI)
         tct.obj (+RW, +ZI)
         tcd.obj (INTERNCONST, INTERNRW, INTERNZI)
         tmd.obj (+RW, +ZI)
         evd.obj (+RW, +ZI)
         pmd.obj (+RW, +ZI)
         qud.obj (+RW, +ZI)
         smd.obj (+RW, +ZI)
         mpal_gprs_common_func.obj (INTERNCONST, INTERNRW, INTERNZI)
         mpal_gprs_dl_msg_hdlr.obj (INTERNCONST, INTERNRW, INTERNZI)
         m11194.obj (INTERNCONST, INTERNRW, INTERNZI)
         m11191.obj (INTERNCONST, INTERNRW, INTERNZI)
         l1d_data.obj (INTERNCONST, INTERNRW, INTERNZI)
         l1d_internal_data.obj (INTERNCONST, INTERNRW, INTERNZI)
         m12110.obj (INTERNCONST, INTERNRW, INTERNZI)
         m12120.obj (INTERNCONST, INTERNRW, INTERNZI)
         m12160.obj (INTERNCONST, INTERNRW, INTERNZI)
         m12170.obj (INTERNCONST, INTERNRW, INTERNZI)
         m12168.obj (INTERNCONST, INTERNRW, INTERNZI)
         m12180.obj (INTERNCONST, INTERNRW, INTERNZI)
         m11303.obj (INTERNCONST, INTERNRW, INTERNZI)
         m11305.obj (INTERNCONST, INTERNRW, INTERNZI)
         m12194.obj (INTERNCONST, INTERNRW, INTERNZI)
         L1Trc.obj (INTERNCONST, INTERNRW, INTERNZI)
         gdi_image.obj (INTERNCONST, INTERNRW, INTERNZI)
         gdi_bytestream.obj (INTERNCONST, INTERNRW, INTERNZI)
         gdi.obj (INTERNZI)
         wav.obj (INTERNCONST, INTERNRW, INTERNZI)
         wav_codec.obj (INTERNCONST, INTERNRW, INTERNZI)
         interpret.obj(INTERNZI)
         file71.o(INTERNCONST, INTERNRW, INTERNZI)
    } 
    DYNAMIC_CODE1 0x40018800 OVERLAY 0x5000
    {
       * (AMR515_DYNAMIC_CODE, AMR515_DYNAMIC_ZI)
    }
    DYNAMIC_CODE2 0x40018800 OVERLAY 0x5000
    {
       * (G3D_DYNAMIC_CODE, G3D_DYNAMIC_ZI)
    }
    DYNAMIC_CODE3 0x40018800 OVERLAY 0x5000
    {
       * (CTM_DYNAMIC_CODE, CTM_DYNAMIC_ZI)
    }
    DYNAMIC_CODE4 0x40018800 OVERLAY 0x5000
    {
       * (G729_DYNAMIC_CODE, G729_DYNAMIC_ZI)
    }
    DYNAMIC_CODE5 0x40018800 OVERLAY 0x5000
    {
       * (SBC_DYNAMIC_CODE, SBC_DYNAMIC_ZI)
    }    
    INTSRAM_MULTIMEDIA 0x4001D800 0x29800
    {
       med_main.obj (INTERNRW1, INTERNZI1)
    }
}
