;******************************************************************************* ; (c) Copyright 2015 Microsemi SoC Products Group. All rights reserved. ; SmartFusion2 scatter file for debugging code executing in external MDDR. ; ; 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 ; Extern RAM 64M in total ; allocate 1/2 to progam, 1/2 to variable data RAM_LOAD 0x00000000 0x04000000 { ; Total = 64MB (lowest common amount accross dev kits) 32MB - First half of external memory allocated to RO Code ER_RO 0x00000000 0x02000000 { *.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 as is the case below STACKS 0x20000000 UNINIT { startup_m2sxxx.o (STACK) } ; 32 MB- Second half of external memory allocated to RW data ER_RW 0xA2000000 0x02000000 { .ANY (+RW +ZI) } }