diff options
Diffstat (limited to 'os/common')
| -rw-r--r-- | os/common/startup/ARMCAx-TZ/compilers/GCC/crt0.S | 8 | 
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) */
  | 
