diff --git a/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_M0/TOOLCHAIN_GCC/HAL_CM0.S b/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_M0/TOOLCHAIN_GCC/HAL_CM0.S index d211da5a88..a9f1ff17c0 100644 --- a/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_M0/TOOLCHAIN_GCC/HAL_CM0.S +++ b/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_M0/TOOLCHAIN_GCC/HAL_CM0.S @@ -35,7 +35,7 @@ .file "HAL_CM0.S" .syntax unified - .equ TCB_TSTACK, 40 + .equ TCB_TSTACK, 44 /*---------------------------------------------------------------------------- diff --git a/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_M0/TOOLCHAIN_IAR/HAL_CM0.S b/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_M0/TOOLCHAIN_IAR/HAL_CM0.S index 729dcb10a6..d0dc85374c 100644 --- a/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_M0/TOOLCHAIN_IAR/HAL_CM0.S +++ b/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_M0/TOOLCHAIN_IAR/HAL_CM0.S @@ -34,7 +34,7 @@ NAME HAL_CM0.S - #define TCB_TSTACK 40 + #define TCB_TSTACK 44 EXTERN os_flags EXTERN os_tsk diff --git a/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_M0P/TOOLCHAIN_GCC/HAL_CM0.S b/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_M0P/TOOLCHAIN_GCC/HAL_CM0.S index d211da5a88..a9f1ff17c0 100644 --- a/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_M0P/TOOLCHAIN_GCC/HAL_CM0.S +++ b/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_M0P/TOOLCHAIN_GCC/HAL_CM0.S @@ -35,7 +35,7 @@ .file "HAL_CM0.S" .syntax unified - .equ TCB_TSTACK, 40 + .equ TCB_TSTACK, 44 /*---------------------------------------------------------------------------- diff --git a/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_M0P/TOOLCHAIN_IAR/HAL_CM0.S b/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_M0P/TOOLCHAIN_IAR/HAL_CM0.S index 729dcb10a6..d0dc85374c 100644 --- a/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_M0P/TOOLCHAIN_IAR/HAL_CM0.S +++ b/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_M0P/TOOLCHAIN_IAR/HAL_CM0.S @@ -34,7 +34,7 @@ NAME HAL_CM0.S - #define TCB_TSTACK 40 + #define TCB_TSTACK 44 EXTERN os_flags EXTERN os_tsk diff --git a/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_M3/TOOLCHAIN_GCC/HAL_CM3.S b/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_M3/TOOLCHAIN_GCC/HAL_CM3.S index f0a28bc11d..e218b0559d 100644 --- a/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_M3/TOOLCHAIN_GCC/HAL_CM3.S +++ b/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_M3/TOOLCHAIN_GCC/HAL_CM3.S @@ -35,7 +35,7 @@ .file "HAL_CM3.S" .syntax unified - .equ TCB_TSTACK, 40 + .equ TCB_TSTACK, 44 /*---------------------------------------------------------------------------- diff --git a/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_M3/TOOLCHAIN_IAR/HAL_CM3.S b/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_M3/TOOLCHAIN_IAR/HAL_CM3.S index a1a10a6b24..587cc089f2 100644 --- a/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_M3/TOOLCHAIN_IAR/HAL_CM3.S +++ b/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_M3/TOOLCHAIN_IAR/HAL_CM3.S @@ -34,7 +34,7 @@ NAME HAL_CM3.S - #define TCB_TSTACK 40 + #define TCB_TSTACK 44 EXTERN os_flags EXTERN os_tsk diff --git a/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_RTOS_M4_M7/TOOLCHAIN_GCC/HAL_CM4.S b/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_RTOS_M4_M7/TOOLCHAIN_GCC/HAL_CM4.S index 4e44957651..fc6e31f56a 100644 --- a/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_RTOS_M4_M7/TOOLCHAIN_GCC/HAL_CM4.S +++ b/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_RTOS_M4_M7/TOOLCHAIN_GCC/HAL_CM4.S @@ -36,7 +36,7 @@ .syntax unified .equ TCB_STACKF, 37 - .equ TCB_TSTACK, 40 + .equ TCB_TSTACK, 44 /*---------------------------------------------------------------------------- diff --git a/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_RTOS_M4_M7/TOOLCHAIN_IAR/HAL_CM4.S b/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_RTOS_M4_M7/TOOLCHAIN_IAR/HAL_CM4.S index aed14535ee..9ba85225f4 100644 --- a/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_RTOS_M4_M7/TOOLCHAIN_IAR/HAL_CM4.S +++ b/core/mbed-rtos/rtx/TARGET_CORTEX_M/TARGET_RTOS_M4_M7/TOOLCHAIN_IAR/HAL_CM4.S @@ -35,7 +35,7 @@ NAME HAL_CM4.S #define TCB_STACKF 37 - #define TCB_TSTACK 40 + #define TCB_TSTACK 44 EXTERN os_flags EXTERN os_tsk diff --git a/core/mbed-rtos/rtx/TARGET_CORTEX_M/rt_Task.c b/core/mbed-rtos/rtx/TARGET_CORTEX_M/rt_Task.c index c4af02b9d2..73356b663d 100644 --- a/core/mbed-rtos/rtx/TARGET_CORTEX_M/rt_Task.c +++ b/core/mbed-rtos/rtx/TARGET_CORTEX_M/rt_Task.c @@ -233,7 +233,7 @@ OS_TID rt_tsk_create (FUNCP task, U32 prio_stksz, void *stk, void *argv) { } /* If "size != 0" use a private user provided stack. */ task_context->stack = stk; - task_context->priv_stack = (U16)(prio_stksz >> 8); + task_context->priv_stack = prio_stksz >> 8; /* Pass parameter 'argv' to 'rt_init_context' */ task_context->msg = argv; /* For 'size == 0' system allocates the user stack from the memory pool. */ diff --git a/core/mbed-rtos/rtx/TARGET_CORTEX_M/rt_TypeDef.h b/core/mbed-rtos/rtx/TARGET_CORTEX_M/rt_TypeDef.h index d2f668c444..a3e7677239 100644 --- a/core/mbed-rtos/rtx/TARGET_CORTEX_M/rt_TypeDef.h +++ b/core/mbed-rtos/rtx/TARGET_CORTEX_M/rt_TypeDef.h @@ -71,8 +71,9 @@ typedef struct OS_TCB { /* Hardware dependant part: specific for CM processor */ U8 stack_frame; /* Stack frame: 0=Basic, 1=Extended, */ + U16 reserved; /* Two reserved bytes for alignment */ /* (2=VFP/D16 stacked, 4=NEON/D32 stacked) */ - U16 priv_stack; /* Private stack size, 0= system assigned */ + U32 priv_stack; /* Private stack size, 0= system assigned */ U32 tsk_stack; /* Current task Stack pointer (R13) */ U32 *stack; /* Pointer to Task Stack memory block */ @@ -80,7 +81,7 @@ typedef struct OS_TCB { FUNCP ptask; /* Task entry address */ } *P_TCB; #define TCB_STACKF 37 /* 'stack_frame' offset */ -#define TCB_TSTACK 40 /* 'tsk_stack' offset */ +#define TCB_TSTACK 44 /* 'tsk_stack' offset */ typedef struct OS_PSFE { /* Post Service Fifo Entry */ void *id; /* Object Identification */