From 37de072555e10227bafa83dd3f14d1cf0341d7c9 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 23 Jul 2014 12:33:02 +0000 Subject: 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 --- os/nil/include/nil.h | 5 +++-- os/nil/ports/e200/nilcore.h | 2 +- 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 /** -- cgit v1.2.3