From b8203d791047d450e7fb548f3596bddf31999cf9 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 21 Oct 2012 15:50:22 +0000 Subject: [PATCH] Fixed bug 3578927. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@4767 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/ports/GCC/ARMCMx/crt0.c | 24 +++++++++++------------- readme.txt | 2 ++ todo.txt | 13 +------------ 3 files changed, 14 insertions(+), 25 deletions(-) diff --git a/os/ports/GCC/ARMCMx/crt0.c b/os/ports/GCC/ARMCMx/crt0.c index bb8d3830d..4ac08ecdb 100644 --- a/os/ports/GCC/ARMCMx/crt0.c +++ b/os/ports/GCC/ARMCMx/crt0.c @@ -33,6 +33,17 @@ typedef funcp_t * funcpp_t; #define SYMVAL(sym) (uint32_t)(((uint8_t *)&(sym)) - ((uint8_t *)0)) +/* + * Area fill code, it is a macro because here functions cannot be called + * until stacks are initialized. + */ +#define fill32(start, end, filler) { \ + uint32_t *p1 = start; \ + uint32_t *p2 = end; \ + while (p1 < p2) \ + *p1++ = filler; \ +} + /*===========================================================================*/ /** * @name Startup settings @@ -227,19 +238,6 @@ void _default_exit(void) { ; } -/** - * @brief Memory fill. - * - * @param[in] start fill area start - * @param[in] end fill area end - * @param[in] filler filler pattern - */ -static void fill32(uint32_t *start, uint32_t *end, uint32_t filler) { - - while (start < end) - *start++ = filler; -} - /** * @brief Reset vector. */ diff --git a/readme.txt b/readme.txt index cea1f5e48..7c45db6e4 100644 --- a/readme.txt +++ b/readme.txt @@ -83,6 +83,8 @@ ***************************************************************************** *** 2.5.1 *** +- FIX: Fixed ARM CMx crt0.c fails at low optimization levels (bug 3578927) + (backported to 2.4.3). - FIX: Fixed compilation issue in chregistry.c (bug 3576776). - FIX: Fixed compilation issue in syscalls.c (bug 3576771)(backported to 2.4.3). diff --git a/todo.txt b/todo.txt index aceaf6c79..12dd9102c 100644 --- a/todo.txt +++ b/todo.txt @@ -5,18 +5,7 @@ X = In progress, some work done. ? = Not sure if worth the effort or useful at all. N = Decided against. -Version 2.5.0 -* SDC driver port to STM32F2 and STM32F4. -* Revision of scheduling strategy for threads at equal priority. -* Handling of Virtual Timer callbacks out of critical zone. -* Add normal API (not iclass) variants of the VT functions. -* MMC_SPI driver speedup. -* FatFs 0.9x integration. -* USB driver model revision. - * STM32 OTG USB cell support for CL, F2, F4 devices. -* CAN driver test on STM32F2/F4. -* STM32F0 support. - * Specific ADC driver for STM32F0. +Version 2.5.1 Within 2.5.x: X Revision of the RTCv2 driver implementation.