diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-04-16 07:50:21 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-04-21 07:04:53 +0200 |
commit | 2a24f99d113fe54920e8533ad5fb6cd1da1335c1 (patch) | |
tree | cf4f45f75d57f53e991ba0b507e37fd50c315f42 /bsps/arm | |
parent | Fix calloc() behaviour in case of overflow (diff) | |
download | rtems-2a24f99d113fe54920e8533ad5fb6cd1da1335c1.tar.bz2 |
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.
Diffstat (limited to 'bsps/arm')
-rw-r--r-- | bsps/arm/shared/start/start.S | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/bsps/arm/shared/start/start.S b/bsps/arm/shared/start/start.S index 50bf1d4841..bd623178ed 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 |