📄 os_time.lst
字号:
184 =2
185 =2 #define OS_TASK_DEL_ERR 60u
186 =2 #define OS_TASK_DEL_IDLE 61u
187 =2 #define OS_TASK_DEL_REQ 62u
188 =2 #define OS_TASK_DEL_ISR 63u
189 =2
190 =2 #define OS_NO_MORE_TCB 70u
191 =2
192 =2 #define OS_TIME_NOT_DLY 80u
193 =2 #define OS_TIME_INVALID_MINUTES 81u
194 =2 #define OS_TIME_INVALID_SECONDS 82u
195 =2 #define OS_TIME_INVALID_MILLI 83u
196 =2 #define OS_TIME_ZERO_DLY 84u
197 =2
198 =2 #define OS_TASK_SUSPEND_PRIO 90u
199 =2 #define OS_TASK_SUSPEND_IDLE 91u
200 =2
201 =2 #define OS_TASK_RESUME_PRIO 100u
202 =2 #define OS_TASK_NOT_SUSPENDED 101u
203 =2
204 =2 #define OS_MEM_INVALID_PART 110u
205 =2 #define OS_MEM_INVALID_BLKS 111u
206 =2 #define OS_MEM_INVALID_SIZE 112u
207 =2 #define OS_MEM_NO_FREE_BLKS 113u
208 =2 #define OS_MEM_FULL 114u
209 =2 #define OS_MEM_INVALID_PBLK 115u
210 =2 #define OS_MEM_INVALID_PMEM 116u
211 =2 #define OS_MEM_INVALID_PDATA 117u
212 =2 #define OS_MEM_INVALID_ADDR 118u
213 =2 #define OS_MEM_NAME_TOO_LONG 119u
214 =2
215 =2 #define OS_ERR_NOT_MUTEX_OWNER 120u
216 =2
217 =2 #define OS_TASK_OPT_ERR 130u
218 =2
219 =2 #define OS_ERR_DEL_ISR 140u
220 =2 #define OS_ERR_CREATE_ISR 141u
221 =2
222 =2 #define OS_FLAG_INVALID_PGRP 150u
223 =2 #define OS_FLAG_ERR_WAIT_TYPE 151u
224 =2 #define OS_FLAG_ERR_NOT_RDY 152u
225 =2 #define OS_FLAG_INVALID_OPT 153u
226 =2 #define OS_FLAG_GRP_DEPLETED 154u
227 =2
228 =2
229 =2 /*
230 =2 *********************************************************************************************************
231 =2 * EVENT CONTROL BLOCK
C51 COMPILER V7.50 OS_TIME 01/12/2005 21:47:41 PAGE 13
232 =2 *********************************************************************************************************
233 =2 */
234 =2
235 =2 #if (OS_EVENT_EN > 0) && (OS_MAX_EVENTS > 0)
=2 typedef struct {
=2 INT8U OSEventType; /* Type of event control block (see OS_EVENT_TYPE_???) */
=2 INT8U OSEventGrp; /* Group corresponding to tasks waiting for event to occur */
=2 INT16U OSEventCnt; /* Semaphore Count (not used if other EVENT type) */
=2 void *OSEventPtr; /* Pointer to message or queue structure */
=2 INT8U OSEventTbl[OS_EVENT_TBL_SIZE]; /* List of tasks waiting for event to occur */
=2 #if OS_EVENT_NAME_SIZE > 0
=2 char OSEventName[OS_EVENT_NAME_SIZE];
=2 #endif
=2 } OS_EVENT;
=2 #endif
247 =2
248 =2
249 =2 /*
250 =2 *********************************************************************************************************
251 =2 * EVENT FLAGS CONTROL BLOCK
252 =2 *********************************************************************************************************
253 =2 */
254 =2
255 =2 #if (OS_FLAG_EN > 0) && (OS_MAX_FLAGS > 0)
=2 typedef struct { /* Event Flag Group */
=2 INT8U OSFlagType; /* Should be set to OS_EVENT_TYPE_FLAG */
=2 void *OSFlagWaitList; /* Pointer to first NODE of task waiting on event flag */
=2 OS_FLAGS OSFlagFlags; /* 8, 16 or 32 bit flags */
=2 #if OS_FLAG_NAME_SIZE > 0
=2 char OSFlagName[OS_FLAG_NAME_SIZE];
=2 #endif
=2 } OS_FLAG_GRP;
=2
=2
=2 typedef struct { /* Event Flag Wait List Node */
=2 void *OSFlagNodeNext; /* Pointer to next NODE in wait list */
=2 void *OSFlagNodePrev; /* Pointer to previous NODE in wait list */
=2 void *OSFlagNodeTCB; /* Pointer to TCB of waiting task */
-
=2 void *OSFlagNodeFlagGrp; /* Pointer to Event Flag Group */
-
=2 OS_FLAGS OSFlagNodeFlags; /* Event flag to wait on */
-
=2 INT8U OSFlagNodeWaitType; /* Type of wait: */
=2 /* OS_FLAG_WAIT_AND */
=2 /* OS_FLAG_WAIT_ALL */
=2 /* OS_FLAG_WAIT_OR */
=2 /* OS_FLAG_WAIT_ANY */
=2 } OS_FLAG_NODE;
=2 #endif
279 =2
280 =2 /*$PAGE*/
281 =2 /*
282 =2 *********************************************************************************************************
283 =2 * MESSAGE MAILBOX DATA
284 =2 *********************************************************************************************************
285 =2 */
286 =2
287 =2 #if OS_MBOX_EN > 0
=2 typedef struct {
=2 void *OSMsg; /* Pointer to message in mailbox */
=2 INT8U OSEventTbl[OS_EVENT_TBL_SIZE]; /* List of tasks waiting for event to occur */
C51 COMPILER V7.50 OS_TIME 01/12/2005 21:47:41 PAGE 14
=2 INT8U OSEventGrp; /* Group corresponding to tasks waiting for event to occur */
=2 } OS_MBOX_DATA;
=2 #endif
294 =2
295 =2 /*
296 =2 *********************************************************************************************************
297 =2 * MEMORY PARTITION DATA STRUCTURES
298 =2 *********************************************************************************************************
299 =2 */
300 =2
301 =2 #if (OS_MEM_EN > 0) && (OS_MAX_MEM_PART > 0)
=2 typedef struct { /* MEMORY CONTROL BLOCK */
=2 void *OSMemAddr; /* Pointer to beginning of memory partition */
=2 void *OSMemFreeList; /* Pointer to list of free memory blocks */
=2 INT32U OSMemBlkSize; /* Size (in bytes) of each block of memory */
=2 INT32U OSMemNBlks; /* Total number of blocks in this partition */
=2 INT32U OSMemNFree; /* Number of memory blocks remaining in this partition */
=2 #if OS_MEM_NAME_SIZE > 0
=2 char OSMemName[OS_MEM_NAME_SIZE]; /* Memory partition name */
=2 #endif
=2 } OS_MEM;
=2
=2
=2 typedef struct {
=2 void *OSAddr; /* Pointer to the beginning address of the memory partition */
=2 void *OSFreeList; /* Pointer to the beginning of the free list of memory blocks */
=2 INT32U OSBlkSize; /* Size (in bytes) of each memory block */
=2 INT32U OSNBlks; /* Total number of blocks in the partition */
=2 INT32U OSNFree; /* Number of memory blocks free */
=2 INT32U OSNUsed; /* Number of memory blocks used */
=2 } OS_MEM_DATA;
=2 #endif
323 =2
324 =2
325 =2 /*
326 =2 *********************************************************************************************************
327 =2 * MUTUAL EXCLUSION SEMAPHORE DATA
328 =2 *********************************************************************************************************
329 =2 */
330 =2
331 =2 #if OS_MUTEX_EN > 0
=2 typedef struct {
=2 INT8U OSEventTbl[OS_EVENT_TBL_SIZE]; /* List of tasks waiting for event to occur */
=2 INT8U OSEventGrp; /* Group corresponding to tasks waiting for event to occur */
=2 INT8U OSValue; /* Mutex value (0 = used, 1 = available) */
=2 INT8U OSOwnerPrio; /* Mutex owner's task priority or 0xFF if no owner */
=2 INT8U OSMutexPIP; /* Priority Inheritance Priority or 0xFF if no owner */
=2 } OS_MUTEX_DATA;
=2 #endif
340 =2
341 =2 /*
342 =2 *********************************************************************************************************
343 =2 * MESSAGE QUEUE DATA
344 =2 *********************************************************************************************************
345 =2 */
346 =2
347 =2 #if OS_Q_EN > 0
=2 typedef struct os_q { /* QUEUE CONTROL BLOCK */
=2 struct os_q *OSQPtr; /* Link to next queue control block in list of free blocks */
=2 void **OSQStart; /* Pointer to start of queue ucdata *
-/
=2 void **OSQEnd; /* Pointer to end of queue ucdata *
C51 COMPILER V7.50 OS_TIME 01/12/2005 21:47:41 PAGE 15
-/
=2 void **OSQIn; /* Pointer to where next message will be inserted in the Q */
=2 void **OSQOut; /* Pointer to where next message will be extracted from the Q */
=2 INT16U OSQSize; /* Size of queue (maximum number of entries) */
=2 INT16U OSQEntries; /* Current number of entries in the queue */
=2 } OS_Q;
=2
=2
=2 typedef struct {
=2 void *OSMsg; /* Pointer to next message to be extracted from queue */
=2 INT16U OSNMsgs; /* Number of messages in message queue */
=2 INT16U OSQSize; /* Size of message queue */
=2 INT8U OSEventTbl[OS_EVENT_TBL_SIZE]; /* List of tasks waiting for event to occur */
=2 INT8U OSEventGrp; /* Group corresponding to tasks waiting for event to occur */
=2 } OS_Q_DATA;
=2 #endif
367 =2
368 =2 /*
369 =2 *********************************************************************************************************
370 =2 * SEMAPHORE DATA
371 =2 *********************************************************************************************************
372 =2 */
373 =2
374 =2 #if OS_SEM_EN > 0
=2 typedef struct {
=2 INT16U OSCnt; /* Semaphore count */
=2 INT8U OSEventTbl[OS_EVENT_TBL_SIZE]; /* List of tasks waiting for event to occur */
=2 INT8U OSEventGrp; /* Group corresponding to tasks waiting for event to occur */
=2 } OS_SEM_DATA;
=2 #endif
381 =2
382 =2 /*
383 =2 *********************************************************************************************************
384 =2 * TASK STACK DATA
385 =2 *********************************************************************************************************
386 =2 */
387 =2
388 =2 #if ((OS_TASK_STK_CHK_EN > 0) || (OS_TASK_STAT_STK_CHK_EN > 0)) && (OS_TASK_CREATE_EXT_EN > 0)
=2 typedef struct {
=2 INT32U OSFree; /* Number of free bytes on the stack */
=2 INT32U OSUsed; /* Number of bytes used on the stack */
=2 } OS_STK_DATA;
=2 #endif
394 =2
395 =2
396 =2 /*
397 =2 *********************************************************************************************************
398 =2 * TASK CONTROL BLOCK
399 =2 *********************************************************************************************************
400 =2 */
401 =2
402 =2 typedef struct os_tcb {
403 =2 OS_STK *OSTCBStkPtr; /* Pointer to current top of stack */
404 =2
405 =2 #if OS_TASK_CREATE_EXT_EN > 0
=2 void *OSTCBExtPtr; /* Pointer to user definable ucdata for TCB extension *
-/
=2 OS_STK *OSTCBStkBottom; /* Pointer to bottom of stack */
=2 INT32U OSTCBStkSize; /* Size of task stack (in number of stack elements) */
=2 INT16U OSTCBOpt; /* Task options as passed by OSTaskCreateExt() */
=2 INT16U OSTCBId; /* Task ID (0..65535) */
=2 #endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -