/* F28027.cmd - standard linker command file for F28027 */

MEMORY		/* physical memory resources */
{
	PAGE 0 : 	/* program space */
	
		/* SARAM blocks */
		CSTART (RW)		: origin = 0x000000, 	length = 0x000002
		PRAMM0 (RW)    	: origin = 0x000002, 	length = 0x0003FE
/*		PRAMM0 (RW)    	: origin = 0x000000, 	length = 0x000400 */
		PRAMM1 (RW)    	: origin = 0x000400, 	length = 0x000400
      	PRAML0L (RW)   	: origin = 0x008000, 	length = 0x001000
 		PRAML1L (RW)   	: origin = 0x009000, 	length = 0x001000
     	PRAMH0L (RW)  	: origin = 0x00A000, 	length = 0x002000
      	PRAML0H (RW)   	: origin = 0x3F8000, 	length = 0x001000
 		PRAML1H (RW)   	: origin = 0x3F9000, 	length = 0x001000
     	PRAMH0H (RW)  	: origin = 0x3FA000, 	length = 0x002000

		/* ROM */
        OTP (R)        	: origin = 0x3D7800, 	length = 0x000400
/*     	FLASH (R)		: origin = 0x3E8000,	length = 0x00FFF8	/* contiguous flash memory */
	   	FLASHD (R)      : origin = 0x3E8000, 	length = 0x004000	/* sector D */
	   	FLASHC (R)      : origin = 0x3EC000, 	length = 0x004000	/* sector C */
	   	FLASHB (R)      : origin = 0x3F0000, 	length = 0x004000	/* sector B */
	   	FLASHA (R)      : origin = 0x3F4000, 	length = 0x003F80	/* sector A */
		CSM_RSVD (R)   	: origin = 0x3F7F80, 	length = 0x000076   /* fill with 0x0000 when CSM in use */
		BEGIN (R)		: origin = 0x3F7FF6,	length = 0x000002	/* part of flash sector A */
        CSM_PWL (R)		: origin = 0x3F7FF8,	length = 0x000008	/* passwords */
        BOOTROM (R)    	: origin = 0x3FF000, 	length = 0x000FC0	
        RESET (R)     	: origin = 0x3FFFC0, 	length = 0x000002	/* reset vector */
        VECTORS (R)  	: origin = 0x3FFFC2, 	length = 0x00003E	


	PAGE 1 : 	/* data space */
	
		/* SARAM blocks */
		STDVECS (RW)	: origin = 0x00000000, 	length = 0x000040
		DRAMM0 (RW) 	: origin = 0x00000040, 	length = 0x0003C0
/*		DRAMM0 (RW) 	: origin = 0x00000000, 	length = 0x000400 */
		DRAMM1 (RW) 	: origin = 0x00000400, 	length = 0x000400
		PIEVECS (RW)	: origin = 0x00000D00, 	length = 0x000100                           
      	DRAML0L (RW)   	: origin = 0x008000, 	length = 0x001000
 		DRAML1L (RW)   	: origin = 0x009000, 	length = 0x001000
     	DRAMH0L (RW)  	: origin = 0x00A000, 	length = 0x002000
      	DRAML0H (RW)   	: origin = 0x3F8000, 	length = 0x001000
 		DRAML1H (RW)   	: origin = 0x3F9000, 	length = 0x001000
     	DRAMH0H (RW)  	: origin = 0x3FA000, 	length = 0x002000
}


SECTIONS
{

	cstart         	: > CSTART,     PAGE = 0
	.text           : > PRAMM0, 	PAGE = 0
	vectors			: > DRAMM1, 	PAGE = 1

/*	cstart         	: > BEGIN,      PAGE = 0 */
/*	.text           : > FLASHA, 	PAGE = 0 */
/*	vectors			: > FLASHB, 	PAGE = 0 */

	password		: load = CSM_PWL, type = NOLOAD,	PAGE = 0
	reserved		: load = CSM_RSVD, type = NOLOAD,	PAGE = 0

/*   	.stack          : > DRAMM1,     PAGE = 1 */
   	.bss            : > DRAMM0,    PAGE = 1
   	.ebss           : > DRAMM1,    PAGE = 1
   	.reset			: > RESET,     PAGE = 0, type = DSECT
	datalog0		: > DRAMM1,	   PAGE = 1	align(64)
}

/* end of file */
