;*******************************************************************************
;  (c) Copyright 2015 Microsemi SoC Products Group. All rights reserved.
;  SmartFusion2 scatter file for executing code in internal eNVM.
; 
;  SVN $Revision: 7419 $
;  SVN $Date: 2015-05-15 16:50:21 +0100 (Fri, 15 May 2015) $
;
; * Some current (April 2015) dev kit memory map possibilities are
; * --Type-------Device-----------address start---address end----size---Dbus--RAM IC-------SF2--Comment---------------
; * --eNVM-------M2S010-----------0x60000000------0x6007FFFF-----256KB---------------------010------------------------
; * --eNVM-------M2S090-----------0x60000000------0x6007FFFF-----512KB---------------------090------------------------
; * --eSRAM------M2Sxxx-----------0x20000000------0x2000FFFF-----64KB----------------------xxx--All have same amount--
; * --eSRAM------M2Sxxx-----------0x20000000------0x20013FFF-----80KB----------------------xxx--If ECC/SECDED not used
; * --Fabric-----M2S010-----------0x30000000------0x6007FFFF-----400Kb---------------------010--note-K bits-----------
; * --Fabric-----M2S090-----------0x30000000------0x6007FFFF-----2074Kb--------------------090--note-K bits-----------
; * --LPDDR------STARTER-KIT------0xA0000000------0xA3FFFFFF-----64MB---16--MT46H32M16-----050------------------------
; * --LPDDR------484-STARTER-KIT--0xA0000000------0xA3FFFFFF-----64MB---16--MT46H32M16-----010------------------------
; * --LPDDR------SEC-EVAL-KIT-----0xA0000000------0xA3FFFFFF-----64MB---16--MT46H32M16LF---090--Security eval kit-----
; * --DDR3-------ADevKit----------0xA0000000------0xBFFFFFFF-----1GB----32--MT41K256M8DA---150------------------------
; * --Some older physical memory map possibilities are
; * --Type-------location---------address start---address end----size---Dbus---RAM IC------SF2--Comment--------------
; * --LPDDR------EVAL KIT---------0xA0000000------0xA3FFFFFF-----64MB-=-16--MT46H32M16LF---025--Eval Kit--------------
; * --DDR3-------DevKit-----------0xA0000000------0xAFFFFFFF-----512MB--16--MT41K256M8DA---050------------------------
;
;  Example linker scripts use lowest practicl values so will work accross dev kits
;  eNVM=256KB  eRAM=64KB  External memory = 64MB  

FLASH_LOAD 0x00000000 0x40000		
{
;   All R only code/data is located in ENVM
    ER_RO 0x00000000 0x40000
    {
       	*.o (RESET, +First)
        *(InRoot$$Sections)
        .ANY (+RO)
    }
;   Heap size is defined in startup_m2sxxx.s
;   Heap will be added after RW data in ER_RW unless explicitly 
;   allocated a meemory region in .sct file
;   Stack size is defined in startup_m2sxxx.s
;   Stack will be added after heap in ER_RW unless explicitly 
;   allocated a memory region in .sct file
    ER_RW 0x20000000 0x10000
    {
        .ANY (+RW +ZI)
    }
}