/* *File:OS_CPU.H */ /********************************************* * author:yuanguiyou (44b0) * date: 2007 JAN 19 *********************************************/ /******************************************** * modify by:yuanguiyou * date: 2007 JUL 21 (lpc2131) * reason: ********************************************/ #ifdef OS_CPU_GLOBALS #define OS_CPU_EXT #else #define OS_CPU_EXT extern #endif /* ********************************************** * data type ********************************************** */ typedef unsigned char BOOLEAN; typedef unsigned char INT8U; typedef signed char INT8S; typedef unsigned short INT16U; typedef signed short INT16S; typedef unsigned int INT32U; typedef signed int INT32S; typedef float FP32; typedef double FP64; typedef unsigned int OS_STK; typedef unsigned int OS_CPU_SR; #define BYTE INT8S #define UBYTE INT8U #define WORD INT16S #define UWORD INT16U #define LONG INT32S #define ULONG INT32U /* ********************************************** * ARM * ********************************************** */ #define OS_CRITICAL_METHOD 1 #define OS_ENTER_CRITICAL() ARMDisableInt(); #define OS_EXIT_CRITICAL() ARMEnableInt(); /* ********************************* */ #define SVC32MODE 0x13 /*stack stuff*/ #define OS_STK_GROWTH 1 #define SEMIHOSTED_STACK_NEEDS 1024 /*idle task stack size(words)*/ #ifdef SEMIHOSTED #define OS_IDLE_STK_SIZE (32+SEMIHOSTED_STACK_NEEDS) #else #define OS_IDLE_STK_SIZE 32 #endif /* *Function specific to uHAL */ /*define in os_cpu_c.c*/ extern void ARMTargetInit(void); extern void ARMTargetStart(void); /*defined in os_cpu_a.s*/ extern void OS_TASK_SW(void); extern void ARMDisableInt(void); extern void ARMEnableInt(void);