[rtems commit] bsps/arm: Set MSP in ARMv7-M start code

Sebastian Huber sebh at rtems.org
Wed Apr 21 05:06:10 UTC 2021


Module:    rtems
Branch:    master
Commit:    2a24f99d113fe54920e8533ad5fb6cd1da1335c1
Changeset: http://git.rtems.org/rtems/commit/?id=2a24f99d113fe54920e8533ad5fb6cd1da1335c1

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Fri Apr 16 07:50:21 2021 +0200

bsps/arm: Set MSP in ARMv7-M start code

Set the Main Stack Pointer (MSP) to the ISR stack area end just in case
we run using the Process Stack Pointer (PSP).  This helps if
applications are started by a boot loader.

---

 bsps/arm/shared/start/start.S | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/bsps/arm/shared/start/start.S b/bsps/arm/shared/start/start.S
index 50bf1d4..bd62317 100644
--- a/bsps/arm/shared/start/start.S
+++ b/bsps/arm/shared/start/start.S
@@ -553,6 +553,14 @@ _start:
 #endif
 
 	ldr	sp, =_ISR_Stack_area_end
+
+	/*
+	 * Set the Main Stack Pointer (MSP) to the ISR stack area end just in
+	 * case we run using the Process Stack Pointer (PSP).
+	 */
+	mov	r0, sp
+	msr	msp, r0
+
 	ldr	lr, =bsp_start_hook_0_done + 1
 	b	bsp_start_hook_0
 



More information about the vc mailing list