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 | |
| 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
| -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 | ||||
| -rw-r--r-- | readme.txt | 3 | 
3 files changed, 8 insertions, 3 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
 diff --git a/readme.txt b/readme.txt index 5f34825e0..fa4a85b00 100644 --- a/readme.txt +++ b/readme.txt @@ -6,7 +6,6 @@    +--readme.txt           - This file.
    +--documentation.html   - Shortcut to the web documentation page.
    +--license.txt          - GPL license text.
 -  +--exception.txt        - GPL exception text (stable releases only).
    +--demos/               - Demo projects, one directory per platform.
    +--docs/                - Documentation.
    |  +--common/           - Documentation common build resources.
 @@ -95,6 +94,8 @@  - HAL: Introduced support for TIM21 and TIM22 in STM32 ST driver.
  - HAL: Updated STM32F0xx headers to STM32CubeF0 version 1.3.0. Added support
         for STM32F030xC, STM32F070x6, STM32F070xB devices.
 +- VAR: Fixed CRT0_CALL_DESTRUCTORS not utilised in crt0_v7m.s (bug #635)
 +       (backported to 3.0.2).
  - HAL: Fixed wrong ld file in STM32F072xB USB CDC demo (bug #634)(backported
         to 3.0.2).
  - NIL: Fixed Wrong assertion in NIL chSemResetI() and NIL OSAL
  | 
