diff options
-rw-r--r-- | os/ports/GCC/ARMCMx/chcore_v6m.h | 4 | ||||
-rw-r--r-- | os/ports/GCC/ARMCMx/chcore_v7m.h | 9 | ||||
-rw-r--r-- | readme.txt | 2 |
3 files changed, 9 insertions, 6 deletions
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
/**
diff --git a/readme.txt b/readme.txt index dd7a74714..ac5039db5 100644 --- a/readme.txt +++ b/readme.txt @@ -61,6 +61,8 @@ *****************************************************************************
*** 2.1.1 ***
+- FIX: Fixed insufficient stack size for idle thread (bug 3033624)(backported
+ to 2.0.3).
- FIX: Fixed misspelled word in some chioch.h and chstreams.h macros (bug
3031534)(backported to 2.0.3).
- FIX: Fixed wrong macro check in the STM32 SPI driver (bug 3028562)(backported
|