aboutsummaryrefslogtreecommitdiffstats
path: root/os/nil
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2014-07-23 12:33:02 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2014-07-23 12:33:02 +0000
commit37de072555e10227bafa83dd3f14d1cf0341d7c9 (patch)
tree27242162e58f680ff462edb6ac463cc217b29fb5 /os/nil
parent46d8d011afb9669404c0295ae0846261b8355859 (diff)
downloadChibiOS-37de072555e10227bafa83dd3f14d1cf0341d7c9.tar.gz
ChibiOS-37de072555e10227bafa83dd3f14d1cf0341d7c9.tar.bz2
ChibiOS-37de072555e10227bafa83dd3f14d1cf0341d7c9.zip
Working Area allocation bug in NIL fixed.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@7061 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/nil')
-rw-r--r--os/nil/include/nil.h5
-rw-r--r--os/nil/ports/e200/nilcore.h2
2 files changed, 4 insertions, 3 deletions
diff --git a/os/nil/include/nil.h b/os/nil/include/nil.h
index 7de756b31..d6a7945d7 100644
--- a/os/nil/include/nil.h
+++ b/os/nil/include/nil.h
@@ -407,7 +407,8 @@ typedef struct {
* @brief Entry of user threads table
*/
#define THD_TABLE_ENTRY(wap, name, funcp, arg) \
- {wap, (wap) + sizeof (wap), name, funcp, arg},
+ {wap, ((stkalign_t *)(wap)) + (sizeof (wap) / sizeof(stkalign_t)), \
+ name, funcp, arg},
/**
* @brief End of user threads table.
@@ -441,7 +442,7 @@ typedef struct {
* @api
*/
#define THD_WORKING_AREA_SIZE(n) \
- THD_ALIGN_STACK_SIZE(sizeof(thread_t) + PORT_WA_SIZE(n))
+ THD_ALIGN_STACK_SIZE(PORT_WA_SIZE(n))
/**
* @brief Static working area allocation.
diff --git a/os/nil/ports/e200/nilcore.h b/os/nil/ports/e200/nilcore.h
index 279ea392e..1189bd835 100644
--- a/os/nil/ports/e200/nilcore.h
+++ b/os/nil/ports/e200/nilcore.h
@@ -92,7 +92,7 @@
* area size.
*/
#if !defined(PORT_INT_REQUIRED_STACK) || defined(__DOXYGEN__)
-#define PORT_INT_REQUIRED_STACK 32
+#define PORT_INT_REQUIRED_STACK 256
#endif
/**