Import Mbed OS hard-float snapshot
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
#! armcc -E
|
||||
|
||||
#if !defined(MBED_APP_START)
|
||||
#define MBED_APP_START 0x00000000
|
||||
#endif
|
||||
|
||||
#if !defined(MBED_APP_SIZE)
|
||||
#define MBED_APP_SIZE 0x00080000
|
||||
#endif
|
||||
|
||||
#if !defined(MBED_BOOT_STACK_SIZE)
|
||||
#define MBED_BOOT_STACK_SIZE 0x400
|
||||
#endif
|
||||
|
||||
LR_IROM1 MBED_APP_START {
|
||||
ER_IROM1 MBED_APP_START { ; load address = execution address
|
||||
*(RESET, +First)
|
||||
*(InRoot$$Sections)
|
||||
.ANY (+RO)
|
||||
}
|
||||
|
||||
|
||||
ARM_LIB_STACK 0x20000000 EMPTY MBED_BOOT_STACK_SIZE {
|
||||
}
|
||||
|
||||
/* VTOR[TBLOFF] alignment requires:
|
||||
*
|
||||
* 1. Minumum 32-word
|
||||
* 2. Rounding up to the next power of two of table size
|
||||
*/
|
||||
ER_IRAMVEC AlignExpr(+0, 1024) EMPTY (4*(16 + 142)) { ; Reserve for vectors
|
||||
}
|
||||
|
||||
RW_m_crash_data AlignExpr(+0, 0x100) EMPTY 0x100 { ; Reserve for crash data storage
|
||||
}
|
||||
|
||||
RW_IRAM1 AlignExpr(+0, 16) { ; 16 byte-aligned
|
||||
.ANY (+RW +ZI)
|
||||
}
|
||||
|
||||
; Too large to place into internal SRAM. So place into external SRAM instead.
|
||||
ER_XRAM1 0x60000000 {
|
||||
*lwip_* (+ZI)
|
||||
aes.o (+ZI)
|
||||
mesh_system.o (+ZI)
|
||||
}
|
||||
|
||||
; Extern SRAM for HEAP
|
||||
ARM_LIB_HEAP AlignExpr(+0, 16) EMPTY (0x60000000 + 0x100000 - AlignExpr(ImageLimit(ER_XRAM1), 16)) {
|
||||
}
|
||||
}
|
||||
ScatterAssert(LoadLimit(LR_IROM1) <= (MBED_APP_START + MBED_APP_SIZE)) ; 512 KB APROM
|
||||
ScatterAssert(ImageLimit(RW_IRAM1) <= 0x20010000) ; 64 KB SRAM (internal)
|
||||
ScatterAssert(ImageLimit(ARM_LIB_HEAP) <= 0x60100000) ; 1 MB SRAM (external)
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
#! armcc -E
|
||||
|
||||
#if !defined(MBED_APP_START)
|
||||
#define MBED_APP_START 0x00000000
|
||||
#endif
|
||||
|
||||
#if !defined(MBED_APP_SIZE)
|
||||
#define MBED_APP_SIZE 0x00080000
|
||||
#endif
|
||||
|
||||
#if !defined(MBED_BOOT_STACK_SIZE)
|
||||
#define MBED_BOOT_STACK_SIZE 0x400
|
||||
#endif
|
||||
|
||||
LR_IROM1 MBED_APP_START {
|
||||
ER_IROM1 MBED_APP_START { ; load address = execution address
|
||||
*(RESET, +First)
|
||||
*(InRoot$$Sections)
|
||||
.ANY (+RO)
|
||||
}
|
||||
|
||||
|
||||
ARM_LIB_STACK 0x20000000 EMPTY MBED_BOOT_STACK_SIZE {
|
||||
}
|
||||
|
||||
/* VTOR[TBLOFF] alignment requires:
|
||||
*
|
||||
* 1. Minumum 32-word
|
||||
* 2. Rounding up to the next power of two of table size
|
||||
*/
|
||||
ER_IRAMVEC AlignExpr(+0, 1024) EMPTY (4*(16 + 142)) { ; Reserve for vectors
|
||||
}
|
||||
|
||||
RW_m_crash_data AlignExpr(+0, 0x100) EMPTY 0x100 { ; Reserve for crash data storage
|
||||
}
|
||||
|
||||
RW_IRAM1 AlignExpr(+0, 16) { ; 16 byte-aligned
|
||||
.ANY (+RW +ZI)
|
||||
}
|
||||
|
||||
; Extern SRAM for HEAP
|
||||
ARM_LIB_HEAP AlignExpr(+0, 16) EMPTY (0x20000000 + 0x10000 - AlignExpr(ImageLimit(RW_IRAM1), 16)) {
|
||||
}
|
||||
}
|
||||
ScatterAssert(LoadLimit(LR_IROM1) <= (MBED_APP_START + MBED_APP_SIZE)) ; 512 KB APROM
|
||||
ScatterAssert(ImageLimit(RW_IRAM1) <= 0x20010000) ; 64 KB SRAM (internal)
|
||||
|
||||
Reference in New Issue
Block a user