aboutsummaryrefslogtreecommitdiffstats
path: root/os
diff options
context:
space:
mode:
authorGiovanni Di Sirio <gdisirio@gmail.com>2015-08-23 09:11:17 +0000
committerGiovanni Di Sirio <gdisirio@gmail.com>2015-08-23 09:11:17 +0000
commit37d632cd0fb3075110f63e7179ae6f03650d7fd0 (patch)
treebf99ca50f3fdc1a5609e51fc086101ae38087a40 /os
parent6774111f771c29a4fe4635dea3cec3b0f6a1c1f2 (diff)
downloadChibiOS-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')
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/crt0_v6m.s2
-rw-r--r--os/common/ports/ARMCMx/compilers/GCC/crt0_v7m.s6
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