aboutsummaryrefslogtreecommitdiffstats
path: root/os/common/startup/ARMCMx/compilers/GCC/crt0_v7m.S
diff options
context:
space:
mode:
Diffstat (limited to 'os/common/startup/ARMCMx/compilers/GCC/crt0_v7m.S')
-rw-r--r--os/common/startup/ARMCMx/compilers/GCC/crt0_v7m.S6
1 files changed, 6 insertions, 0 deletions
diff --git a/os/common/startup/ARMCMx/compilers/GCC/crt0_v7m.S b/os/common/startup/ARMCMx/compilers/GCC/crt0_v7m.S
index 3abfc1813..2a92768f3 100644
--- a/os/common/startup/ARMCMx/compilers/GCC/crt0_v7m.S
+++ b/os/common/startup/ARMCMx/compilers/GCC/crt0_v7m.S
@@ -180,6 +180,12 @@ Reset_Handler:
/* Interrupts are globally masked initially.*/
cpsid i
+#if CRT0_FORCE_MSP_INIT == TRUE
+ /* MSP stack pointers initialization.*/
+ ldr r0, =__main_stack_end__
+ msr MSP, r0
+#endif
+
/* PSP stack pointers initialization.*/
ldr r0, =__process_stack_end__
msr PSP, r0