diff --git a/arch/arm/src/armv6-m/nvic.h b/arch/arm/src/armv6-m/nvic.h index 06d11d5d634..b6f4391a4a6 100644 --- a/arch/arm/src/armv6-m/nvic.h +++ b/arch/arm/src/armv6-m/nvic.h @@ -41,6 +41,7 @@ ****************************************************************************************************/ #include +#include /**************************************************************************************************** * Pre-processor Definitions diff --git a/arch/avr/src/avr/up_initialstate.c b/arch/avr/src/avr/up_initialstate.c index 506b28c6200..8ce4ad029e6 100644 --- a/arch/avr/src/avr/up_initialstate.c +++ b/arch/avr/src/avr/up_initialstate.c @@ -50,18 +50,6 @@ #include "up_internal.h" #include "up_arch.h" -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Private Data - ****************************************************************************/ - -/**************************************************************************** - * Private Functions - ****************************************************************************/ - /**************************************************************************** * Public Functions ****************************************************************************/ @@ -91,18 +79,18 @@ void up_initial_state(struct tcb_s *tcb) /* Set the initial stack pointer to the "base" of the allocated stack */ - xcp->regs[REG_SPH] = (uint8_t)((uint16_t)tcb->adj_stack_ptr >> 8); - xcp->regs[REG_SPL] = (uint8_t)((uint16_t)tcb->adj_stack_ptr & 0xff); + xcp->regs[REG_SPH] = (uint8_t)((uintptr_t)tcb->adj_stack_ptr >> 8); + xcp->regs[REG_SPL] = (uint8_t)((uintptr_t)tcb->adj_stack_ptr & 0xff); /* Save the task entry point */ #if !defined(REG_PC2) - xcp->regs[REG_PC0] = (uint8_t)((uint16_t)tcb->start >> 8); - xcp->regs[REG_PC1] = (uint8_t)((uint16_t)tcb->start & 0xff); + xcp->regs[REG_PC0] = (uint8_t)((uintptr_t)tcb->start >> 8); + xcp->regs[REG_PC1] = (uint8_t)((uintptr_t)tcb->start & 0xff); #else - xcp->regs[REG_PC0] = (uint8_t)((uint32_t)tcb->start >> 16); - xcp->regs[REG_PC1] = (uint8_t)((uint32_t)tcb->start >> 8); - xcp->regs[REG_PC2] = (uint8_t)((uint32_t)tcb->start & 0xff); + xcp->regs[REG_PC0] = (uint8_t)((uintptr_t)tcb->start >> 16); + xcp->regs[REG_PC1] = (uint8_t)((uintptr_t)tcb->start >> 8); + xcp->regs[REG_PC2] = (uint8_t)((uintptr_t)tcb->start & 0xff); #endif /* Enable or disable interrupts, based on user configuration */