forked from ARM-software/CMSIS_5
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
CoreValidation: Fixed AC5 scatter file problem.
- Loading branch information
GuentherMartin
committed
Jan 27, 2021
1 parent
bc84f8a
commit ac55a34
Showing
2 changed files
with
121 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
120 changes: 120 additions & 0 deletions
120
CMSIS/CoreValidation/Tests/config/core_m/rtebuild_ac5.sct
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,120 @@ | ||
#! armcc -E | ||
; command above MUST be in first line (no comment above!) | ||
|
||
|
||
/* | ||
;-------- <<< Use Configuration Wizard in Context Menu >>> ------------------- | ||
*/ | ||
|
||
/*--------------------- Flash Configuration ---------------------------------- | ||
; <h> Flash Configuration | ||
; <o0> Flash Base Address <0x0-0xFFFFFFFF:8> | ||
; <o1> Flash Size (in Bytes) <0x0-0xFFFFFFFF:8> | ||
; </h> | ||
*----------------------------------------------------------------------------*/ | ||
#define __ROM_BASE 0x00000000 | ||
#define __ROM_SIZE 0x00200000 | ||
|
||
/*--------------------- Embedded RAM Configuration --------------------------- | ||
; <h> RAM Configuration | ||
; <o0> RAM Base Address <0x0-0xFFFFFFFF:8> | ||
; <o1> RAM Size (in Bytes) <0x0-0xFFFFFFFF:8> | ||
; </h> | ||
*----------------------------------------------------------------------------*/ | ||
#define __RAM_BASE 0x20000000 | ||
#define __RAM_SIZE 0x00200000 | ||
|
||
/*--------------------- 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 0x00000400 | ||
#define __HEAP_SIZE 0x00000C00 | ||
|
||
/*--------------------- CMSE Venner Configuration --------------------------- | ||
; <h> CMSE Venner Configuration | ||
; <o0> CMSE Venner Size (in Bytes) <0x0-0xFFFFFFFF:32> | ||
; </h> | ||
*----------------------------------------------------------------------------*/ | ||
#define __CMSEVENEER_SIZE 0x200 | ||
|
||
/* | ||
;------------- <<< end of configuration section >>> --------------------------- | ||
*/ | ||
|
||
|
||
/*---------------------------------------------------------------------------- | ||
User Stack & Heap boundary definition | ||
*----------------------------------------------------------------------------*/ | ||
#define __STACK_TOP (__RAM_BASE + __RAM_SIZE - __STACKSEAL_SIZE) /* starts at end of RAM - 8 byte stack seal */ | ||
#define __HEAP_BASE (AlignExpr(+0, 8)) /* starts after RW_RAM section, 8 byte aligned */ | ||
|
||
/* ---------------------------------------------------------------------------- | ||
Stack seal size definition | ||
*----------------------------------------------------------------------------*/ | ||
#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) | ||
#define __STACKSEAL_SIZE ( 8 ) | ||
#else | ||
#define __STACKSEAL_SIZE ( 0 ) | ||
#endif | ||
|
||
|
||
/*---------------------------------------------------------------------------- | ||
Region base & size definition | ||
*----------------------------------------------------------------------------*/ | ||
#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) | ||
#define __CV_BASE ( __ROM_BASE + __ROM_SIZE - __CMSEVENEER_SIZE ) | ||
#define __CV_SIZE ( __CMSEVENEER_SIZE ) | ||
#else | ||
#define __CV_SIZE ( 0 ) | ||
#endif | ||
|
||
#define __RO_BASE ( __ROM_BASE ) | ||
#define __RO_SIZE ( __ROM_SIZE - __CV_SIZE ) | ||
|
||
#define __RW_BASE ( __RAM_BASE ) | ||
#define __RW_SIZE ( __RAM_SIZE - __STACK_SIZE - __HEAP_SIZE ) | ||
|
||
|
||
/*---------------------------------------------------------------------------- | ||
Scatter Region definition | ||
*----------------------------------------------------------------------------*/ | ||
LR_ROM __RO_BASE __RO_SIZE { ; load region size_region | ||
ER_ROM __RO_BASE __RO_SIZE { ; load address = execution address | ||
*.o (RESET, +First) | ||
*(InRoot$$Sections) | ||
.ANY (+RO) | ||
.ANY (+XO) | ||
} | ||
|
||
RW_RAM __RW_BASE __RW_SIZE { ; RW data | ||
.ANY (+RW +ZI) | ||
} | ||
|
||
RW_EVR +0 UNINIT 0x00004000 { | ||
EventRecorder.o (+RW +ZI) | ||
} | ||
|
||
#if __HEAP_SIZE > 0 | ||
ARM_LIB_HEAP __HEAP_BASE EMPTY __HEAP_SIZE { ; Reserve empty region for heap | ||
} | ||
#endif | ||
|
||
ARM_LIB_STACK __STACK_TOP EMPTY -__STACK_SIZE { ; Reserve empty region for stack | ||
} | ||
|
||
#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) | ||
STACKSEAL +0 EMPTY __STACKSEAL_SIZE { ; Reserve empty region for stack seal immediately after stack | ||
} | ||
#endif | ||
} | ||
|
||
#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) | ||
LR_CMSE_VENEER __CV_BASE ALIGN 32 __CV_SIZE { ; own load/execution region for CMSE Venners | ||
ER_CMSE_VENEER __CV_BASE __CV_SIZE { | ||
*(Veneer$$CMSE) | ||
} | ||
} | ||
#endif |