From 29b2e367666404ac81a56ab66cd8e5d860b8a8d2 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 23 Jul 2010 15:12:05 +0000 Subject: Fixed bug 3033624. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2083 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/ports/GCC/ARMCMx/chcore_v6m.h | 4 ++-- os/ports/GCC/ARMCMx/chcore_v7m.h | 9 +++++---- 2 files changed, 7 insertions(+), 6 deletions(-) (limited to 'os/ports') diff --git a/os/ports/GCC/ARMCMx/chcore_v6m.h b/os/ports/GCC/ARMCMx/chcore_v6m.h index b76aa075a..0b0a41858 100644 --- a/os/ports/GCC/ARMCMx/chcore_v6m.h +++ b/os/ports/GCC/ARMCMx/chcore_v6m.h @@ -106,7 +106,7 @@ struct intctx { * a stack frame when compiling without optimizations. */ #ifndef IDLE_THREAD_STACK_SIZE -#define IDLE_THREAD_STACK_SIZE 4 +#define IDLE_THREAD_STACK_SIZE 8 #endif /** @@ -120,7 +120,7 @@ struct intctx { * representing the frame of the function @p chSchDoRescheduleI(). */ #ifndef INT_REQUIRED_STACK -#define INT_REQUIRED_STACK 8 +#define INT_REQUIRED_STACK 16 #endif /** diff --git a/os/ports/GCC/ARMCMx/chcore_v7m.h b/os/ports/GCC/ARMCMx/chcore_v7m.h index 0c8abcd41..1461a0745 100644 --- a/os/ports/GCC/ARMCMx/chcore_v7m.h +++ b/os/ports/GCC/ARMCMx/chcore_v7m.h @@ -96,7 +96,7 @@ struct intctx { * reduce this value to zero when compiling with optimizations. */ #ifndef IDLE_THREAD_STACK_SIZE -#define IDLE_THREAD_STACK_SIZE 4 +#define IDLE_THREAD_STACK_SIZE 8 #endif /** @@ -106,11 +106,12 @@ struct intctx { * This value can be zero on those architecture where there is a * separate interrupt stack and the stack space between @p intctx and * @p extctx is known to be zero. - * @note In this port it is set to 8 because the function - * @p chSchDoRescheduleI() has a stack frame. + * @note In this port it is conservatively set to 16 because the function + * @p chSchDoRescheduleI() can have a stack frame, expecially with + * compiler optimizations disabled. */ #ifndef INT_REQUIRED_STACK -#define INT_REQUIRED_STACK 8 +#define INT_REQUIRED_STACK 16 #endif /** -- cgit v1.2.3