Added monitor stack initialization.

git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@11318 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
isiora 2018-01-18 09:38:52 +00:00
parent cc1316f252
commit f06110436a
1 changed files with 7 additions and 1 deletions

View File

@ -28,6 +28,7 @@
.set MODE_FIQ, 0x11 .set MODE_FIQ, 0x11
.set MODE_IRQ, 0x12 .set MODE_IRQ, 0x12
.set MODE_SVC, 0x13 .set MODE_SVC, 0x13
.set MODE_MON, 0x16
.set MODE_ABT, 0x17 .set MODE_ABT, 0x17
.set MODE_UND, 0x1B .set MODE_UND, 0x1B
.set MODE_SYS, 0x1F .set MODE_SYS, 0x1F
@ -73,6 +74,11 @@ Reset_Handler:
mov sp, r0 mov sp, r0
ldr r1, =__svc_stack_size__ ldr r1, =__svc_stack_size__
sub r0, r0, r1 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 */ /* System */
msr CPSR_c, #MODE_SYS | I_BIT | F_BIT msr CPSR_c, #MODE_SYS | I_BIT | F_BIT
mov sp, r0 mov sp, r0
@ -121,7 +127,7 @@ bssloop:
*/ */
#if !defined(THUMB_NO_INTERWORKING) #if !defined(THUMB_NO_INTERWORKING)
#if defined(CH_CFG_USE_MMU) #if defined(CH_CFG_USE_MMU)
bl __mmu_init bl __core_init
#endif #endif
bl __late_init bl __late_init
#else /* defined(THUMB_NO_INTERWORKING) */ #else /* defined(THUMB_NO_INTERWORKING) */