diff --git a/cpu/arm_common/arm_cpu.c b/cpu/arm_common/arm_cpu.c index 032b42020d..0bf51b02ca 100644 --- a/cpu/arm_common/arm_cpu.c +++ b/cpu/arm_common/arm_cpu.c @@ -37,7 +37,7 @@ char *thread_stack_init(void (*task_func)(void), void *stack_start, int stack_si { unsigned int *stk; int i; - stk = (unsigned int *)(stack_start + stack_size); + stk = (unsigned int *)((unsigned int)stack_start + stack_size); stk--; *stk = STACK_MARKER; @@ -48,7 +48,7 @@ char *thread_stack_init(void (*task_func)(void), void *stack_start, int stack_si /* set the stack pointer (SP) */ stk--; - *stk = (unsigned int)(stack_start + stack_size) - 4; + *stk = (unsigned int)((unsigned int)stack_start + stack_size) - 4; /* build base stack */ for (i = REGISTER_CNT; i >= 0 ; i--) {