diff options
-rw-r--r-- | chip/mchp/lfw/ec_lfw.ld | 11 | ||||
-rw-r--r-- | chip/mec1322/lfw/ec_lfw.ld | 11 |
2 files changed, 18 insertions, 4 deletions
diff --git a/chip/mchp/lfw/ec_lfw.ld b/chip/mchp/lfw/ec_lfw.ld index 315ad1bcfd..8e8601a5ee 100644 --- a/chip/mchp/lfw/ec_lfw.ld +++ b/chip/mchp/lfw/ec_lfw.ld @@ -14,11 +14,18 @@ */ MEMORY { - VECTOR(r ) : ORIGIN = 0x0E0000, LENGTH = 24 - SRAM (xrw) : ORIGIN = 0x0E0018, LENGTH = 0x1000 - LENGTH(VECTOR) + VECTOR(r ) : ORIGIN = 0x0E0000, LENGTH = 0x18 + SRAM (xrw) : ORIGIN = 0x0E0018, LENGTH = 0xFE8 } /* + * ld does not allow mathematical expressions in ORIGIN/LENGTH, so check the + * values here. + */ +ASSERT(ORIGIN(VECTOR) + LENGTH(VECTOR) == ORIGIN(SRAM), "Invalid SRAM origin.") +ASSERT(LENGTH(VECTOR) + LENGTH(SRAM) == 0x1000, "Invalid VECTOR+SRAM length.") + +/* * The entry point is informative, for debuggers and simulators, * since the Cortex-M vector points to it anyway. */ diff --git a/chip/mec1322/lfw/ec_lfw.ld b/chip/mec1322/lfw/ec_lfw.ld index adb8b30bba..65e17e4941 100644 --- a/chip/mec1322/lfw/ec_lfw.ld +++ b/chip/mec1322/lfw/ec_lfw.ld @@ -9,11 +9,18 @@ /* Memory Spaces Definitions */ MEMORY { - VECTOR(r ) : ORIGIN = 0x100000, LENGTH = 24 - SRAM (xrw) : ORIGIN = 0x100018, LENGTH = 0xC00 - LENGTH(VECTOR) + VECTOR(r ) : ORIGIN = 0x100000, LENGTH = 0x18 + SRAM (xrw) : ORIGIN = 0x100018, LENGTH = 0xBE8 } /* + * ld does not allow mathematical expressions in ORIGIN/LENGTH, so check the + * values here. + */ +ASSERT(ORIGIN(VECTOR) + LENGTH(VECTOR) == ORIGIN(SRAM), "Invalid SRAM origin.") +ASSERT(LENGTH(VECTOR) + LENGTH(SRAM) == 0xC00, "Invalid VECTOR+SRAM length.") + +/* * The entry point is informative, for debuggers and simulators, * since the Cortex-M vector points to it anyway. */ |