Official mbed Real Time Operating System based on the RTX implementation of the CMSIS-RTOS API open standard. Support for nucleo F401RE
Dependents: rtos_basic_stm32_F401
Fork of mbed-rtos by
os_tcb.h
00001 #ifndef OS_TCB_H 00002 #define OS_TCB_H 00003 00004 /* Types */ 00005 typedef char S8; 00006 typedef unsigned char U8; 00007 typedef short S16; 00008 typedef unsigned short U16; 00009 typedef int S32; 00010 typedef unsigned int U32; 00011 typedef long long S64; 00012 typedef unsigned long long U64; 00013 typedef unsigned char BIT; 00014 typedef unsigned int BOOL; 00015 typedef void (*FUNCP)(void); 00016 00017 typedef struct OS_TCB { 00018 /* General part: identical for all implementations. */ 00019 U8 cb_type; /* Control Block Type */ 00020 U8 state; /* Task state */ 00021 U8 prio; /* Execution priority */ 00022 U8 task_id; /* Task ID value for optimized TCB access */ 00023 struct OS_TCB *p_lnk; /* Link pointer for ready/sem. wait list */ 00024 struct OS_TCB *p_rlnk; /* Link pointer for sem./mbx lst backwards */ 00025 struct OS_TCB *p_dlnk; /* Link pointer for delay list */ 00026 struct OS_TCB *p_blnk; /* Link pointer for delay list backwards */ 00027 U16 delta_time; /* Time until time out */ 00028 U16 interval_time; /* Time interval for periodic waits */ 00029 U16 events; /* Event flags */ 00030 U16 waits; /* Wait flags */ 00031 void **msg; /* Direct message passing when task waits */ 00032 00033 /* Hardware dependant part: specific for CM processor */ 00034 U8 stack_frame; /* Stack frame: 0=Basic, 1=Extended */ 00035 U8 reserved; 00036 U16 priv_stack; /* Private stack size in bytes */ 00037 U32 tsk_stack; /* Current task Stack pointer (R13) */ 00038 U32 *stack; /* Pointer to Task Stack memory block */ 00039 00040 /* Library dependant part */ 00041 #if defined (__CC_ARM) && !defined (__MICROLIB) 00042 /* A memory space for arm standard library. */ 00043 U32 std_libspace[96/4]; 00044 #endif 00045 00046 /* Task entry point used for uVision debugger */ 00047 FUNCP ptask; /* Task entry address */ 00048 } *P_TCB; 00049 00050 #endif
Generated on Tue Jul 12 2022 20:53:01 by 1.7.2