#! armclang -E --target=arm-arm-none-eabi -mcpu=cortex-m33 -xc
; command above MUST be in first line (no comment above!)

/*
;-------- <<< Use Configuration Wizard in Context Menu >>> -------------------
*/

#include "mem_ARMCM33.h"

/*--------------------- Flash Configuration ----------------------------------
; <h> Flash Configuration
;   <o0> RAM1 Base Address <0x0-0xFFFFFFFF:8>
;   <o1> RAM1 Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h>
 *----------------------------------------------------------------------------*/
#define __RAM1_BASE     0x10000000
#define __RAM1_SIZE     0x00080000

/*--------------------- Embedded RAM Configuration ---------------------------
; <h> RAM Configuration
;   <o0> RAM1 Base Address    <0x0-0xFFFFFFFF:8>
;   <o1> RAM1 Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h>
 *----------------------------------------------------------------------------*/
#define __RAM2_BASE     0x20000000
#define __RAM2_SIZE     0x00008000


/*--------------------- Stack / Heap Configuration ---------------------------
; <h> Stack / Heap Configuration
;   <o0> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
;   <o1> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h>
 *----------------------------------------------------------------------------*/
#define __STACK_SIZE    STACK_SIZE
#define __HEAP_SIZE     HEAP_SIZE
#define RW_RAM2_SIZE	(__RAM2_SIZE - __STACK_SIZE)

LR_ROM1 __RAM1_BASE __RAM1_SIZE  {                             ; load region size_region
	ER_ROM1 +0 {                                               ; load address = execution address
   		*.o (RESET, +First)
		* (InRoot$$Sections)
	;   *(Veneer$$CMSE)                                         ; uncomment for secure applications
		* (+RO)
	}
	ARM_LIB_HEAP  +0 ALIGN 8 EMPTY __HEAP_SIZE  {   ; Reserve empty region for heap
	}

  	ARM_LIB_STACK __RAM2_BASE ALIGN 8 EMPTY __STACK_SIZE {   ; Reserve empty region for stack
	}
	
	RW_RAM2 +0 RW_RAM2_SIZE  {
    	* (+RW +ZI)
  	}
  	
  	

}

