UCOS OS_CFG.H 裁剪配置的麻烦事

来源:互联网 发布:椭圆曲线公钥密码算法 编辑:程序博客网 时间:2024/06/11 23:49

OS_CFG.H 系统一些参数的配置部分

/*
*********************************************************************************************************
*                                                uC/OS-II
*                                          The Real-Time Kernel
*
*                           (c) Copyright 1992-2001, Jean J. Labrosse, Weston, FL
*                                           All Rights Reserved
*
*                                  uC/OS-II Configuration File for V2.51
*
* File : OS_CFG.H
* By   : Jean J. Labrosse
* 注释   : 谢超    南京信息工程大学滨江学院
* DATE:   2008/4/9
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*                                         uC/OS-II 配置参数
*********************************************************************************************************
*/
#ifndef __OS_CFG_H
#define __OS_CFG_H

#define MaxStkSize              100    /*每个任务使用同样大小的堆栈,这就是每个堆栈的大小*/

#define OS_MAX_EVENTS             2    /*你的应用系统中允许的最大事件数目 */
                                           /* 必须大于0                                         */
#define OS_MAX_FLAGS              5    /* 应用系统中最大的标志组数目*/
                                          /* 必须大于0                                              */
#define OS_MAX_MEM_PART           5    /* 内存分区的最大数目                     */
                                            /* 必须大于0                                            */
#define OS_MAX_QS                 2    /* 应用系统中最大的消息数组控制块 */
                                           /* 必须大于0                                             */
#define OS_MAX_TASKS             11    /* 系统中允许的最大任务数              */
                                          /* 必须大于等于2                                           */

#define OS_LOWEST_PRIO           12    /* 定义能被分配的系统最低优先级 */
                                       /* 无论如何不能大于63,也就是系统能够管理的最大任务数            */

#define OS_TASK_IDLE_STK_SIZE    MaxStkSize    /* 系统空闲任务所使用的堆栈大小,这里设置成和普通程序相同的栈大小*/

#define OS_TASK_STAT_EN           0    /* 系统统计任务的允许位,1为允许,0为关闭          */
#define OS_TASK_STAT_STK_SIZE    MaxStkSize    /* 系统统计任务所使用的堆栈大小,这里设置成和普通程序相同的栈大小*/

#define OS_ARG_CHK_EN             1    /* 参数检查允许位            */
#define OS_CPU_HOOKS_EN           1    /* uC/OS-II 系统的一些挂钩函数的允许位 ,这些相关的挂钩函数可以在OS_CPU_C.C里面找到        */


                                       /* ----------------------- 事件标志组 ------------------------ */
#define OS_FLAG_EN                0    /* 事件标志组允许创建位   */
#define OS_FLAG_WAIT_CLR_EN       0    /* Include code for Wait on Clear EVENT FLAGS                   */
#define OS_FLAG_ACCEPT_EN         0    /*     Include code for OSFlagAccept()                          */
#define OS_FLAG_DEL_EN            0    /*     Include code for OSFlagDel()                             */
#define OS_FLAG_QUERY_EN          0    /*     Include code for OSFlagQuery()                           */


                                       /* -------------------- 消息信箱--------------------- */
#define OS_MBOX_EN                0    /* Enable (1) or Disable (0) code generation for MAILBOXES      */
#define OS_MBOX_ACCEPT_EN         0    /*     Include code for OSMboxAccept()                          */
#define OS_MBOX_DEL_EN            0    /*     Include code for OSMboxDel()                             */
#define OS_MBOX_POST_EN           0    /*     Include code for OSMboxPost()                            */
#define OS_MBOX_POST_OPT_EN       0    /*     Include code for OSMboxPostOpt()                         */
#define OS_MBOX_QUERY_EN          0    /*     Include code for OSMboxQuery()                           */


                                       /* --------------------- 内存管理-------------------- */
#define OS_MEM_EN                 0    /* Enable (1) or Disable (0) code generation for MEMORY MANAGER */
#define OS_MEM_QUERY_EN           0    /*     Include code for OSMemQuery()                            */


                                       /* ---------------- 互斥信号量 --------------- */
#define OS_MUTEX_EN               0    /* Enable (1) or Disable (0) code generation for MUTEX          */
#define OS_MUTEX_ACCEPT_EN        0    /*     Include code for OSMutexAccept()                         */
#define OS_MUTEX_DEL_EN           0    /*     Include code for OSMutexDel()                            */
#define OS_MUTEX_QUERY_EN         0    /*     Include code for OSMutexQuery()                          */


                                       /* ---------------------- 消息队列 ---------------------- */
#define OS_Q_EN                   0    /* Enable (1) or Disable (0) code generation for QUEUES         */
#define OS_Q_ACCEPT_EN            0    /*     Include code for OSQAccept()                             */
#define OS_Q_DEL_EN               0    /*     Include code for OSQDel()                                */
#define OS_Q_FLUSH_EN             0    /*     Include code for OSQFlush()                              */
#define OS_Q_POST_EN              0    /*     Include code for OSQPost()                               */
#define OS_Q_POST_FRONT_EN        0    /*     Include code for OSQPostFront()                          */
#define OS_Q_POST_OPT_EN          0    /*     Include code for OSQPostOpt()                            */
#define OS_Q_QUERY_EN             0    /*     Include code for OSQQuery()                              */


                                       /* ------------------------ 信号量 ------------------------ */
#define OS_SEM_EN                 0    /* Enable (1) or Disable (0) code generation for SEMAPHORES     */
#define OS_SEM_ACCEPT_EN          0    /*    Include code for OSSemAccept()                            */
#define OS_SEM_DEL_EN             0    /*    Include code for OSSemDel()                               */
#define OS_SEM_QUERY_EN           0    /*    Include code for OSSemQuery()                             */


                                       /* ---------------------任务管理---------------------- */
#define OS_TASK_CHANGE_PRIO_EN    0    /*     Include code for OSTaskChangePrio()                      */
#define OS_TASK_CREATE_EN         1    /*     Include code for OSTaskCreate()                          */
#define OS_TASK_CREATE_EXT_EN     0    /*     Include code for OSTaskCreateExt()                       */
#define OS_TASK_DEL_EN            0    /*     Include code for OSTaskDel()                             */
#define OS_TASK_SUSPEND_EN        0    /*     Include code for OSTaskSuspend() and OSTaskResume()      */
#define OS_TASK_QUERY_EN          0    /*     Include code for OSTaskQuery()                           */


                                       /* --------------------- 时间管理---------------------- */
#define OS_TIME_DLY_HMSM_EN       1    /*     包含于 OSTimeDlyHMSM()   相关的代码                      */
#define OS_TIME_DLY_RESUME_EN     0    /*     包含与OSTimeDlyResume() 相关的代码                     */
#define OS_TIME_GET_SET_EN        1    /*      OSTimeGet() 和 OSTimeSet()      函数功能的允许位       */


                                       /* ---------------------- 混合选项 ----------------------- */
#define OS_SCHED_LOCK_EN          0    /*     与 OSSchedLock() 和 OSSchedUnlock()   相关的允许位    */


#define OS_TICKS_PER_SEC         100    /* 设置每秒钟系统的节拍数,这里是100,也就是时钟节拍的周期是10MS                      */


typedef INT8U              OS_FLAGS;   /* 定义系统标志位的类型,8位或者16.32位        */

原创粉丝点击