⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 os_mem.lst

📁 uCOS2 for 51系列
💻 LST
📖 第 1 页 / 共 5 页
字号:
 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_MEM                                                                01/12/2005 21:47:40 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_MEM                                                                01/12/2005 21:47:40 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_MEM                                                                01/12/2005 21:47:40 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 + -