aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--os/ports/GCC/ARMCM3/chcore.h7
-rw-r--r--readme.txt2
2 files changed, 6 insertions, 3 deletions
diff --git a/os/ports/GCC/ARMCM3/chcore.h b/os/ports/GCC/ARMCM3/chcore.h
index ffcb59b2a..c1b9591e0 100644
--- a/os/ports/GCC/ARMCM3/chcore.h
+++ b/os/ports/GCC/ARMCM3/chcore.h
@@ -167,17 +167,18 @@ struct context {
/**
* The default idle thread implementation requires no extra stack space in
- * this port.
+ * this port but it is set to 4 because the idle thread does have a stack
+ * frame when compiling without optimizations.
*/
#ifndef IDLE_THREAD_STACK_SIZE
-#define IDLE_THREAD_STACK_SIZE 0
+#define IDLE_THREAD_STACK_SIZE 4
#endif
/**
* This port requires no extra stack space for interrupt handling.
*/
#ifndef INT_REQUIRED_STACK
-#define INT_REQUIRED_STACK 0
+#define INT_REQUIRED_STACK 0
#endif
/**
diff --git a/readme.txt b/readme.txt
index 446266ca7..c37b59c37 100644
--- a/readme.txt
+++ b/readme.txt
@@ -52,6 +52,8 @@
*****************************************************************************
*** 1.5.1 ***
+- FIX: Fixed insufficient stack space for the idle thread in the ARMCM3 port
+ when compiling without optimizations (bug 2946233)(backported in 1.4.1).
- FIX: Fixed wrong notes on function chThdResume() (bug 2943160).
- NEW: Implemented the concept of thread references, this mechanism ensures
that a dynamic thread's memory is not freed while some other thread still