Hello,
It looks like there is a mistake for ER_DATA region in the NS armclang linker file.
... ER_DATA NS_DATA_START NS_DATA_SIZE { * (+ZI +RW) }
/* MSP */ ARM_LIB_STACK_MSP +0 ALIGN 32 EMPTY NS_MSP_STACK_SIZE { }
/* PSP */ ARM_LIB_STACK +0 ALIGN 32 EMPTY NS_PSP_STACK_SIZE { }
ARM_LIB_HEAP +0 ALIGN 8 EMPTY NS_HEAP_SIZE { } ...
ER_DATA does not take into account the NS_MSP_STACK_SIZE+NS_PSP_STACK_SIZE+EMPTY NS_HEAP_SIZE size: #define NS_DATA_SIZE (TOTAL_RAM_SIZE - S_DATA_SIZE)
Guess, the NS linker file should be: ... ER_DATA NS_DATA_START NS_DATA_SIZE-NS_MSP_STACK_SIZE-NS_PSP_STACK_SIZE-EMPTY NS_HEAP_SIZE { * (+ZI +RW) } ...
Or, did I miss something?
Thank you, Andrej Butok
tf-m@lists.trustedfirmware.org