#! armcc -E #if !defined(MBED_APP_START) #define MBED_APP_START 0x00000000 #endif ; 256k flash #if !defined(MBED_APP_SIZE) #define MBED_APP_SIZE 0x40000 #endif ; 32kB #if !defined(MBED_RAM_START) #define MBED_RAM_START 0x10000000 #endif #if !defined(MBED_RAM_SIZE) #define MBED_RAM_SIZE 0x00008000 #endif #if !defined(MBED_CONF_TARGET_BOOT_STACK_SIZE) #define MBED_CONF_TARGET_BOOT_STACK_SIZE 0x400 #endif ; 8_byte_aligned(16+47 vect * 4 bytes) = 0x100 #define VECTOR_SIZE 0x100 #define RAM_FIXED_SIZE (MBED_CONF_TARGET_BOOT_STACK_SIZE+VECTOR_SIZE) LR_IROM1 MBED_APP_START MBED_APP_SIZE { ; load region size_region ER_IROM1 MBED_APP_START MBED_APP_SIZE { ; load address = execution address *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) } RW_IRAM1 (MBED_RAM_START+VECTOR_SIZE) (MBED_RAM_SIZE-VECTOR_SIZE) { ; RW data .ANY (+RW +ZI) } ARM_LIB_HEAP AlignExpr(+0, 16) EMPTY (MBED_RAM_SIZE-RAM_FIXED_SIZE+MBED_RAM_START-AlignExpr(ImageLimit(RW_IRAM1), 16)) { } ARM_LIB_STACK (MBED_RAM_START+MBED_RAM_SIZE) EMPTY -MBED_CONF_TARGET_BOOT_STACK_SIZE { ; stack } }