aboutsummaryrefslogtreecommitdiffstats
path: root/os/common/startup/ARMCAx-TZ
diff options
context:
space:
mode:
authorisiora <none@example.com>2018-01-18 09:38:52 +0000
committerisiora <none@example.com>2018-01-18 09:38:52 +0000
commitf06110436a52e945f934d98cd07f53dd022b38e4 (patch)
treef2205466a689ec5ce6eca5c684b41f3ceb100ea1 /os/common/startup/ARMCAx-TZ
parentcc1316f252e93c961381c76f1efb43e629331b41 (diff)
downloadChibiOS-f06110436a52e945f934d98cd07f53dd022b38e4.tar.gz
ChibiOS-f06110436a52e945f934d98cd07f53dd022b38e4.tar.bz2
ChibiOS-f06110436a52e945f934d98cd07f53dd022b38e4.zip
Added monitor stack initialization.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@11318 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/common/startup/ARMCAx-TZ')
-rw-r--r--os/common/startup/ARMCAx-TZ/compilers/GCC/crt0.S8
1 files changed, 7 insertions, 1 deletions
diff --git a/os/common/startup/ARMCAx-TZ/compilers/GCC/crt0.S b/os/common/startup/ARMCAx-TZ/compilers/GCC/crt0.S
index f9e807de7..bf8e9750f 100644
--- a/os/common/startup/ARMCAx-TZ/compilers/GCC/crt0.S
+++ b/os/common/startup/ARMCAx-TZ/compilers/GCC/crt0.S
@@ -28,6 +28,7 @@
.set MODE_FIQ, 0x11
.set MODE_IRQ, 0x12
.set MODE_SVC, 0x13
+ .set MODE_MON, 0x16
.set MODE_ABT, 0x17
.set MODE_UND, 0x1B
.set MODE_SYS, 0x1F
@@ -73,6 +74,11 @@ Reset_Handler:
mov sp, r0
ldr r1, =__svc_stack_size__
sub r0, r0, r1
+ /* Monitor */
+ msr CPSR_c, #MODE_MON | I_BIT | F_BIT
+ mov sp, r0
+ ldr r1, =__mon_stack_size__
+ sub r0, r0, r1
/* System */
msr CPSR_c, #MODE_SYS | I_BIT | F_BIT
mov sp, r0
@@ -121,7 +127,7 @@ bssloop:
*/
#if !defined(THUMB_NO_INTERWORKING)
#if defined(CH_CFG_USE_MMU)
- bl __mmu_init
+ bl __core_init
#endif
bl __late_init
#else /* defined(THUMB_NO_INTERWORKING) */