diff options
author | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2012-04-15 15:25:31 +0000 |
---|---|---|
committer | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2012-04-15 15:25:31 +0000 |
commit | e3bceeeb57dd46a80cb7aa0749a66544399edad7 (patch) | |
tree | 3d744e24a91e46f690ce3ff2bc2d2b8ccdea4ec9 | |
parent | 190bc32bc8bbe06134bbe4ad95dc668db5fcebb9 (diff) | |
download | ChibiOS-e3bceeeb57dd46a80cb7aa0749a66544399edad7.tar.gz ChibiOS-e3bceeeb57dd46a80cb7aa0749a66544399edad7.tar.bz2 ChibiOS-e3bceeeb57dd46a80cb7aa0749a66544399edad7.zip |
Increased default PORT_INT_REQUIRED_STACK value to 32 for CMx ports.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@4096 35acf78f-673a-0410-8e92-d51de3d6d3f4
-rw-r--r-- | os/ports/GCC/ARMCMx/chcore_v6m.h | 12 | ||||
-rw-r--r-- | os/ports/GCC/ARMCMx/chcore_v7m.h | 12 | ||||
-rw-r--r-- | os/ports/IAR/ARMCMx/chcore_v6m.h | 12 | ||||
-rw-r--r-- | os/ports/IAR/ARMCMx/chcore_v7m.h | 12 | ||||
-rw-r--r-- | os/ports/RVCT/ARMCMx/chcore_v6m.h | 12 | ||||
-rw-r--r-- | os/ports/RVCT/ARMCMx/chcore_v7m.h | 12 | ||||
-rw-r--r-- | readme.txt | 5 |
7 files changed, 35 insertions, 42 deletions
diff --git a/os/ports/GCC/ARMCMx/chcore_v6m.h b/os/ports/GCC/ARMCMx/chcore_v6m.h index 644f73d79..84005f162 100644 --- a/os/ports/GCC/ARMCMx/chcore_v6m.h +++ b/os/ports/GCC/ARMCMx/chcore_v6m.h @@ -66,15 +66,13 @@ * @brief Per-thread stack overhead for interrupts servicing.
* @details This constant is used in the calculation of the correct working
* area size.
- * 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 conservatively set to 16 because the function
- * @p chSchDoReschedule() can have a stack frame, especially with
- * compiler optimizations disabled.
+ * @note In this port this value is conservatively set to 32 because the
+ * function @p chSchDoReschedule() can have a stack frame, especially
+ * with compiler optimizations disabled. The value can be reduced
+ * when compiler optimizations are enabled.
*/
#if !defined(PORT_INT_REQUIRED_STACK)
-#define PORT_INT_REQUIRED_STACK 16
+#define PORT_INT_REQUIRED_STACK 32
#endif
/**
diff --git a/os/ports/GCC/ARMCMx/chcore_v7m.h b/os/ports/GCC/ARMCMx/chcore_v7m.h index 407b6b571..10edcc45b 100644 --- a/os/ports/GCC/ARMCMx/chcore_v7m.h +++ b/os/ports/GCC/ARMCMx/chcore_v7m.h @@ -63,15 +63,13 @@ * @brief Per-thread stack overhead for interrupts servicing.
* @details This constant is used in the calculation of the correct working
* area size.
- * 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 conservatively set to 16 because the function
- * @p chSchDoReschedule() can have a stack frame, especially with
- * compiler optimizations disabled.
+ * @note In this port this value is conservatively set to 32 because the
+ * function @p chSchDoReschedule() can have a stack frame, especially
+ * with compiler optimizations disabled. The value can be reduced
+ * when compiler optimizations are enabled.
*/
#if !defined(PORT_INT_REQUIRED_STACK)
-#define PORT_INT_REQUIRED_STACK 16
+#define PORT_INT_REQUIRED_STACK 32
#endif
/**
diff --git a/os/ports/IAR/ARMCMx/chcore_v6m.h b/os/ports/IAR/ARMCMx/chcore_v6m.h index 9087f3dd8..8a2ef48e5 100644 --- a/os/ports/IAR/ARMCMx/chcore_v6m.h +++ b/os/ports/IAR/ARMCMx/chcore_v6m.h @@ -66,15 +66,13 @@ * @brief Per-thread stack overhead for interrupts servicing.
* @details This constant is used in the calculation of the correct working
* area size.
- * 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 conservatively set to 16 because the function
- * @p chSchDoReschedule() can have a stack frame, especially with
- * compiler optimizations disabled.
+ * @note In this port this value is conservatively set to 32 because the
+ * function @p chSchDoReschedule() can have a stack frame, especially
+ * with compiler optimizations disabled. The value can be reduced
+ * when compiler optimizations are enabled.
*/
#if !defined(PORT_INT_REQUIRED_STACK)
-#define PORT_INT_REQUIRED_STACK 16
+#define PORT_INT_REQUIRED_STACK 32
#endif
/**
diff --git a/os/ports/IAR/ARMCMx/chcore_v7m.h b/os/ports/IAR/ARMCMx/chcore_v7m.h index 8615eaab6..b46ef22f0 100644 --- a/os/ports/IAR/ARMCMx/chcore_v7m.h +++ b/os/ports/IAR/ARMCMx/chcore_v7m.h @@ -63,15 +63,13 @@ * @brief Per-thread stack overhead for interrupts servicing.
* @details This constant is used in the calculation of the correct working
* area size.
- * 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 conservatively set to 16 because the function
- * @p chSchDoReschedule() can have a stack frame, especially with
- * compiler optimizations disabled.
+ * @note In this port this value is conservatively set to 32 because the
+ * function @p chSchDoReschedule() can have a stack frame, especially
+ * with compiler optimizations disabled. The value can be reduced
+ * when compiler optimizations are enabled.
*/
#if !defined(PORT_INT_REQUIRED_STACK)
-#define PORT_INT_REQUIRED_STACK 16
+#define PORT_INT_REQUIRED_STACK 32
#endif
/**
diff --git a/os/ports/RVCT/ARMCMx/chcore_v6m.h b/os/ports/RVCT/ARMCMx/chcore_v6m.h index 89ab92640..5de576a21 100644 --- a/os/ports/RVCT/ARMCMx/chcore_v6m.h +++ b/os/ports/RVCT/ARMCMx/chcore_v6m.h @@ -66,15 +66,13 @@ * @brief Per-thread stack overhead for interrupts servicing.
* @details This constant is used in the calculation of the correct working
* area size.
- * 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 conservatively set to 16 because the function
- * @p chSchDoReschedule() can have a stack frame, especially with
- * compiler optimizations disabled.
+ * @note In this port this value is conservatively set to 32 because the
+ * function @p chSchDoReschedule() can have a stack frame, especially
+ * with compiler optimizations disabled. The value can be reduced
+ * when compiler optimizations are enabled.
*/
#if !defined(PORT_INT_REQUIRED_STACK)
-#define PORT_INT_REQUIRED_STACK 16
+#define PORT_INT_REQUIRED_STACK 32
#endif
/**
diff --git a/os/ports/RVCT/ARMCMx/chcore_v7m.h b/os/ports/RVCT/ARMCMx/chcore_v7m.h index b568d5e5a..98bbb6358 100644 --- a/os/ports/RVCT/ARMCMx/chcore_v7m.h +++ b/os/ports/RVCT/ARMCMx/chcore_v7m.h @@ -63,15 +63,13 @@ * @brief Per-thread stack overhead for interrupts servicing.
* @details This constant is used in the calculation of the correct working
* area size.
- * 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 conservatively set to 16 because the function
- * @p chSchDoReschedule() can have a stack frame, especially with
- * compiler optimizations disabled.
+ * @note In this port this value is conservatively set to 32 because the
+ * function @p chSchDoReschedule() can have a stack frame, especially
+ * with compiler optimizations disabled. The value can be reduced
+ * when compiler optimizations are enabled.
*/
#if !defined(PORT_INT_REQUIRED_STACK)
-#define PORT_INT_REQUIRED_STACK 16
+#define PORT_INT_REQUIRED_STACK 32
#endif
/**
diff --git a/readme.txt b/readme.txt index 33cfe3cdb..28a3bd26d 100644 --- a/readme.txt +++ b/readme.txt @@ -135,6 +135,11 @@ lwIP demos.
- NEW: lwIP related code is not centralized into a single place, no need to
duplicate the code in each application or demo.
+- CHANGE: The PORT_INT_REQUIRED_STACK parameter for the Cortex-Mx ports has
+ been increased to 32 from 16 because the stack frame sizes are increased
+ when compiling with optimizations disabled, which is common during
+ debugging. In order to save RAM trim back this value when compilung with
+ optimizations enabled.
- CHANGE: Macros icuGetWidthI() and icuGetPeriodI() renamed to icuGetWidth()
and icuGetPeriod().
- CHANGE: Renamed Ethernet driver in AT91 HAL ETHD1.
|