diff options
Diffstat (limited to 'core/cortex-m/ec.lds.S')
-rw-r--r-- | core/cortex-m/ec.lds.S | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/core/cortex-m/ec.lds.S b/core/cortex-m/ec.lds.S index dabdedf860..2a9a9b2fe0 100644 --- a/core/cortex-m/ec.lds.S +++ b/core/cortex-m/ec.lds.S @@ -59,8 +59,10 @@ MEMORY #ifdef CONFIG_CHIP_MEMORY_REGIONS #define REGION(name, attr, start, size) \ name(attr) : ORIGIN = (start), LENGTH = (size) +#define REGION_LOAD REGION #include "memory_regions.inc" #undef REGION +#undef REGION_LOAD #endif /* CONFIG_MEMORY_REGIONS */ } SECTIONS @@ -406,10 +408,18 @@ SECTIONS #define REGION(name, attr, start, size) \ .name(NOLOAD) : { \ __##name##_start = .; \ + KEEP(*(SORT(.name.keep.*))) \ + *(SORT(.name.*)) \ + } > name +#define REGION_LOAD(name, attr, start, size) \ + .name : { \ + __##name##_start = .; \ + KEEP(*(SORT(.name.keep.*))) \ *(SORT(.name.*)) \ } > name #include "memory_regions.inc" #undef REGION +#undef REGION_LOAD #endif /* CONFIG_CHIP_MEMORY_REGIONS */ #if !(defined(SECTION_IS_RO) && defined(CONFIG_FLASH)) |