diff options
author | Giovanni Di Sirio <gdisirio@gmail.com> | 2015-08-23 09:11:17 +0000 |
---|---|---|
committer | Giovanni Di Sirio <gdisirio@gmail.com> | 2015-08-23 09:11:17 +0000 |
commit | 37d632cd0fb3075110f63e7179ae6f03650d7fd0 (patch) | |
tree | bf99ca50f3fdc1a5609e51fc086101ae38087a40 /os/common/ports | |
parent | 6774111f771c29a4fe4635dea3cec3b0f6a1c1f2 (diff) | |
download | ChibiOS-37d632cd0fb3075110f63e7179ae6f03650d7fd0.tar.gz ChibiOS-37d632cd0fb3075110f63e7179ae6f03650d7fd0.tar.bz2 ChibiOS-37d632cd0fb3075110f63e7179ae6f03650d7fd0.zip |
Fixed bug #635.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@8238 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/common/ports')
-rw-r--r-- | os/common/ports/ARMCMx/compilers/GCC/crt0_v6m.s | 2 | ||||
-rw-r--r-- | os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s | 6 |
2 files changed, 6 insertions, 2 deletions
diff --git a/os/common/ports/ARMCMx/compilers/GCC/crt0_v6m.s b/os/common/ports/ARMCMx/compilers/GCC/crt0_v6m.s index 824538215..51a79bb4f 100644 --- a/os/common/ports/ARMCMx/compilers/GCC/crt0_v6m.s +++ b/os/common/ports/ARMCMx/compilers/GCC/crt0_v6m.s @@ -224,7 +224,7 @@ endinitloop: /* Main program invocation, r0 contains the returned value.*/
bl main
-#if CRT0_CALL_CONSTRUCTORS == TRUE
+#if CRT0_CALL_DESTRUCTORS == TRUE
/* Destructors invocation.*/
ldr r4, =__fini_array_start
ldr r5, =__fini_array_end
diff --git a/os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s b/os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s index 029713227..4812a29fe 100644 --- a/os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s +++ b/os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s @@ -178,6 +178,8 @@ Reset_Handler: movw r1, #SCB_FPCCR & 0xFFFF
movt r1, #SCB_FPCCR >> 16
str r0, [r1]
+ dsb
+ isb
/* CPACR initialization.*/
movw r0, #CRT0_CPACR_INIT & 0xFFFF
@@ -185,6 +187,8 @@ Reset_Handler: movw r1, #SCB_CPACR & 0xFFFF
movt r1, #SCB_CPACR >> 16
str r0, [r1]
+ dsb
+ isb
/* FPU FPSCR initially cleared.*/
mov r0, #0
@@ -285,7 +289,7 @@ endinitloop: /* Main program invocation, r0 contains the returned value.*/
bl main
-#if CRT0_CALL_CONSTRUCTORS == TRUE
+#if CRT0_CALL_DESTRUCTORS == TRUE
/* Destructors invocation.*/
ldr r4, =__fini_array_start
ldr r5, =__fini_array_end
|