📄 rm.bak
字号:
//OS_EXT RM_TCB *RMTCBCur; /* Pointer to currently running RM TCB */
//OS_EXT OS_TCB *OSTCBHighRdy; /* Pointer to highest priority TCB R-to-R */
//OS_EXT OS_TCB *OSTCBList; /* Pointer to doubly linked list of TCBs */
//OS_EXT OS_TCB *RMTCBPrioTbl[OS_LOWEST_PRIO + 1];/* Table of pointers to created RM TCBs */
//OS_EXT OS_TCB OSTCBTbl[OS_MAX_TASKS + OS_N_SYS_TASKS]; /* Table of TCBs */
/*
**********************************************************************************************************
* RM_TASK MISCELLANEOUS
**********************************************************************************************************
*/
OS_EXT RM_TCB *RMTCBFreeList; /* 指向空闲RMTCB控制块的指针 */
OS_EXT RM_TCB *RMTCBWaitList; /* 指向等待RM任务的指针 */
OS_EXT RM_TCB *RMTCBRunList; /* 指向等待RM任务的指针 ×/
//OS_EXT RM_TCB *RMTCBPerioTbl[HIGHEST_PERIO + 1]; /* Table of pointers to created RM TCBs */
#define RM_TASK 10 /*定义RM任务的最大数目为10*/
/*
*********************************************************************************************************
* TASK CONTROL BLOCK
*********************************************************************************************************
*/
typedef struct os_tcb {
OS_STK *OSTCBStkPtr; /* Pointer to current top of stack */
#if OS_TASK_CREATE_EXT_EN > 0
void *OSTCBExtPtr; /* Pointer to user definable data for TCB extension */
OS_STK *OSTCBStkBottom; /* Pointer to bottom of stack */
INT32U OSTCBStkSize; /* Size of task stack (in number of stack elements) */
INT16U OSTCBOpt; /* Task options as passed by OSTaskCreateExt() */
INT16U OSTCBId; /* Task ID (0..65535) */
#endif
struct os_tcb *OSTCBNext; /* Pointer to next TCB in the TCB list */
struct os_tcb *OSTCBPrev; /* Pointer to previous TCB in the TCB list */
#if ((OS_Q_EN > 0) && (OS_MAX_QS > 0)) || (OS_MBOX_EN > 0) || (OS_SEM_EN > 0) || (OS_MUTEX_EN > 0)
OS_EVENT *OSTCBEventPtr; /* Pointer to event control block */
#endif
#if ((OS_Q_EN > 0) && (OS_MAX_QS > 0)) || (OS_MBOX_EN > 0)
void *OSTCBMsg; /* Message received from OSMboxPost() or OSQPost() */
#endif
#if (OS_VERSION >= 251) && (OS_FLAG_EN > 0) && (OS_MAX_FLAGS > 0)
#if OS_TASK_DEL_EN > 0
OS_FLAG_NODE *OSTCBFlagNode; /* Pointer to event flag node */
#endif
OS_FLAGS OSTCBFlagsRdy; /* Event flags that made task ready to run */
#endif
INT16U OSTCBDly; /* Nbr ticks to delay task or, timeout waiting for event */
INT8U OSTCBStat; /* Task status */
INT8U OSTCBPrio; /* Task priority (0 == highest, 63 == lowest) */
INT8U OSTCBX; /* Bit position in group corresponding to task priority (0..7) */
INT8U OSTCBY; /* Index into ready table corresponding to task priority */
INT8U OSTCBBitX; /* Bit mask to access bit position in ready table */
INT8U OSTCBBitY; /* Bit mask to access bit position in ready group */
#if OS_TASK_DEL_EN > 0
BOOLEAN OSTCBDelReq; /* Indicates whether a task needs to delete itself */
#endif
#if RM_TASK_EN > 0
RM_TCB *OS_TO_RMTCBPtr; /* 指向rm_tcb控制块 */
#endif
} OS_TCB;
/*
*********************************************************************************************************
* RM_TASK CONTROL BLOCK
*********************************************************************************************************
*/
typedef struct rm_tcb {
OS_TCB *RM_TO_OSTCBPtr; /* 指向os_tcb控制块 */
INT16U RMTCBStartTime /* 第一次开始执行时间 */
INT16U RMTCBInitTime; /* 初始执行时间 */
INT16U RMTCBRemainTime; /* 所剩执行时间 */
INT16U RMTCBPeriods; /* 任务周期 */
INT16U RMTCBInitPeriodsNum; /* 初始周期数 */
INT16U RMTCBRemainPeriodsNum; /* 所剩周期数 */
struct rm_tcb *RMTCBNext; /* Pointer to next RMTCB in the TCB list */
struct rm_tcb *RMTCBPrev; /* Pointer to previous RMTCB in the TCB list */
} RM_TCB;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -