ProjetoBB

Dependencies:   F7_Ethernet WebSocketClient mbed mcp3008

Fork of Nucleo_F746ZG_Ethernet by Dieter Graef

Committer:
DieterGraef
Date:
Sat Jun 18 10:49:12 2016 +0000
Revision:
0:f9b6112278fe
Ethernet for the NUCLEO STM32F746 Board Testprogram uses DHCP and NTP to set the clock

Who changed what in which revision?

UserRevisionLine numberNew contents of line
DieterGraef 0:f9b6112278fe 1 #ifndef OS_TCB_H
DieterGraef 0:f9b6112278fe 2 #define OS_TCB_H
DieterGraef 0:f9b6112278fe 3
DieterGraef 0:f9b6112278fe 4 /* Types */
DieterGraef 0:f9b6112278fe 5 typedef char S8;
DieterGraef 0:f9b6112278fe 6 typedef unsigned char U8;
DieterGraef 0:f9b6112278fe 7 typedef short S16;
DieterGraef 0:f9b6112278fe 8 typedef unsigned short U16;
DieterGraef 0:f9b6112278fe 9 typedef int S32;
DieterGraef 0:f9b6112278fe 10 typedef unsigned int U32;
DieterGraef 0:f9b6112278fe 11 typedef long long S64;
DieterGraef 0:f9b6112278fe 12 typedef unsigned long long U64;
DieterGraef 0:f9b6112278fe 13 typedef unsigned char BIT;
DieterGraef 0:f9b6112278fe 14 typedef unsigned int BOOL;
DieterGraef 0:f9b6112278fe 15 typedef void (*FUNCP)(void);
DieterGraef 0:f9b6112278fe 16 #define TCB_STACK_LR_OFFSET_BYTES (14*4) // prelast DWORD
DieterGraef 0:f9b6112278fe 17 #define TCB_STACK_LR_OFFSET_DWORDS (14) // prelast DWORD
DieterGraef 0:f9b6112278fe 18 #define TCB_STACK_R0_OFFSET_BYTES (1*4) // second DWORD
DieterGraef 0:f9b6112278fe 19 #define TCB_STACK_R0_OFFSET_DWORDS (1) // second DWORD
DieterGraef 0:f9b6112278fe 20
DieterGraef 0:f9b6112278fe 21 typedef struct OS_TCB {
DieterGraef 0:f9b6112278fe 22 /* General part: identical for all implementations. */
DieterGraef 0:f9b6112278fe 23 U8 cb_type; /* Control Block Type */
DieterGraef 0:f9b6112278fe 24 U8 state; /* Task state */
DieterGraef 0:f9b6112278fe 25 U8 prio; /* Execution priority */
DieterGraef 0:f9b6112278fe 26 U8 task_id; /* Task ID value for optimized TCB access */
DieterGraef 0:f9b6112278fe 27 struct OS_TCB *p_lnk; /* Link pointer for ready/sem. wait list */
DieterGraef 0:f9b6112278fe 28 struct OS_TCB *p_rlnk; /* Link pointer for sem./mbx lst backwards */
DieterGraef 0:f9b6112278fe 29 struct OS_TCB *p_dlnk; /* Link pointer for delay list */
DieterGraef 0:f9b6112278fe 30 struct OS_TCB *p_blnk; /* Link pointer for delay list backwards */
DieterGraef 0:f9b6112278fe 31 U16 delta_time; /* Time until time out */
DieterGraef 0:f9b6112278fe 32 U16 interval_time; /* Time interval for periodic waits */
DieterGraef 0:f9b6112278fe 33 U16 events; /* Event flags */
DieterGraef 0:f9b6112278fe 34 U16 waits; /* Wait flags */
DieterGraef 0:f9b6112278fe 35 void **msg; /* Direct message passing when task waits */
DieterGraef 0:f9b6112278fe 36
DieterGraef 0:f9b6112278fe 37 /* Hardware dependant part: specific for CM processor */
DieterGraef 0:f9b6112278fe 38 U8 stack_frame; /* Stack frame: 0=Basic, 1=Extended */
DieterGraef 0:f9b6112278fe 39 U8 reserved1;
DieterGraef 0:f9b6112278fe 40 U16 reserved2;
DieterGraef 0:f9b6112278fe 41 U32 priv_stack; /* Private stack size in bytes */
DieterGraef 0:f9b6112278fe 42 U32 tsk_stack; /* Current task Stack pointer (R13) */
DieterGraef 0:f9b6112278fe 43 U32 *stack; /* Pointer to Task Stack memory block */
DieterGraef 0:f9b6112278fe 44
DieterGraef 0:f9b6112278fe 45 /* Library dependant part */
DieterGraef 0:f9b6112278fe 46 #if defined (__CC_ARM) && !defined (__MICROLIB)
DieterGraef 0:f9b6112278fe 47 /* A memory space for arm standard library. */
DieterGraef 0:f9b6112278fe 48 U32 std_libspace[96/4];
DieterGraef 0:f9b6112278fe 49 #endif
DieterGraef 0:f9b6112278fe 50
DieterGraef 0:f9b6112278fe 51 /* Task entry point used for uVision debugger */
DieterGraef 0:f9b6112278fe 52 FUNCP ptask; /* Task entry address */
DieterGraef 0:f9b6112278fe 53 } *P_TCB;
DieterGraef 0:f9b6112278fe 54
DieterGraef 0:f9b6112278fe 55 #endif