os_cfg.h 文件是系统的配置文件,主要是让用户自己配置一些系统默认的功能,用户可以选择某些或者全部的功能,比如消息队列、信号量、互斥量、事件标志位等,系统默认全部使用的,如果如果用户不需要的话,则可以直接关闭,在对应的宏定义中设置为0即可,这样子就不会占用系统的SRAM,以节省系统资源,os_cfg.h 文件的配置说明具体见代码清单
- 1 #ifndef OS_CFG_H
- 2 #define OS_CFG_H
- 3
- 4
- 5 /* --- 其他配置 --- */
- 6 #define OS_CFG_APP_HOOKS_EN 1u /* 是否使用钩子函数 */
- 7 #define OS_CFG_ARG_CHK_EN 1u /* 是否使用参数检查 */
- 8 #define OS_CFG_CALLED_FROM_ISR_CHK_EN 1u /* 是否使用中断调用检查 */
- 9 #define OS_CFG_DBG_EN 1u /* 是否使用debug */
- 10 #define OS_CFG_ISR_POST_DEFERRED_EN 1u /* 是否使用中断延迟post 操作*/
- 11 #define OS_CFG_OBJ_TYPE_CHK_EN 1u /* 是否使用对象类型检查 */
- 12 #define OS_CFG_TS_EN 1u /* 是否使用时间戳 */
- 13
- 14 #define OS_CFG_PEND_MULTI_EN 1u /*是否使用支持多个任务pend 操作*/
- 15
- 16 #define OS_CFG_PRIO_MAX 32u /*定义任务的最大优先级 */
- 17
- 18 #define OS_CFG_SCHED_LOCK_TIME_MEAS_EN 1u /*是否使用支持测量调度器锁定时间 */
- 19 #define OS_CFG_SCHED_ROUND_ROBIN_EN 1u /* 是否支持循环调度 */
- 20 #define OS_CFG_STK_SIZE_MIN 64u /* 最小的任务堆栈大小 */
- 21
- 22
- 23 /* ---------- 事件标志位---------- */
- 24 #define OS_CFG_FLAG_EN 1u /*是否使用事件标志位 */
- 25 #define OS_CFG_FLAG_DEL_EN 1u /*是否包含OSFlagDel()的代码 */
- 26 #define OS_CFG_FLAG_MODE_CLR_EN 1u /*是否包含清除事件标志位的代码 */
- 27 #define OS_CFG_FLAG_PEND_ABORT_EN 1u /*是否包含OSFlagPendAbort()的代码*/
- 28
- 29
- 30 /* --------- 内存管理 --- */
- 31 #define OS_CFG_MEM_EN 1u /* 是否使用内存管理 */
- 32
- 33
- 34 /* -------- 互斥量 ----- */
- 35 #define OS_CFG_MUTEX_EN 1u /*是否使用互斥量 */
- 36 #define OS_CFG_MUTEX_DEL_EN 1u /*是否包含OSMutexDel()的代码*/
- 37 #define OS_CFG_MUTEX_PEND_ABORT_EN 1u /*是否包含OSMutexPendAbort()的代码 */
- 38
- 39
- 40 /* ------- 消息队列--------------- */
- 41 #define OS_CFG_Q_EN 1u /* 是否使用消息队列 */
- 42 #define OS_CFG_Q_DEL_EN 1u /* 是否包含OSQDel()的代码 */
- 43 #define OS_CFG_Q_FLUSH_EN 1u /* 是否包含OSQFlush()的代码 */
- 44 #define OS_CFG_Q_PEND_ABORT_EN 1u /* 是否包含OSQPendAbort()的代码 */
- 45
- 46
- 47 /* -------------- 信号量 --------- */
- 48 #define OS_CFG_SEM_EN 1u /*是否使用信号量 */
- 49 #define OS_CFG_SEM_DEL_EN 1u /*是否包含OSSemDel()的代码 */
- 50 #define OS_CFG_SEM_PEND_ABORT_EN 1u /*是否包含OSSemPendAbort()的代码*/
- 51 #define OS_CFG_SEM_SET_EN 1u /*是否包含OSSemSet()的代码 */
- 52
- 53
- 54 /* ----------- 任务管理 -------------- */
- 55 #define OS_CFG_STAT_TASK_EN 1u /* 是否使用任务统计功能 */
- 56 #define OS_CFG_STAT_TASK_STK_CHK_EN 1u /* 从统计任务中检查任务堆栈 */
- 57
- 58 #define OS_CFG_TASK_CHANGE_PRIO_EN 1u /* 是否包含OSTaskChangePrio()的代码*/
- 59 #define OS_CFG_TASK_DEL_EN 1u /* 是否包含OSTaskDel()的代码*/
- 60 #define OS_CFG_TASK_Q_EN 1u /*是否包含OSTaskQXXXX()的代码*/
- 61 #define OS_CFG_TASK_Q_PEND_ABORT_EN 1u /* 是否包含OSTaskQPendAbort()的代码 */
- 62 #define OS_CFG_TASK_PROFILE_EN 1u /* 是否在OS_TCB 中包含变量以进行性能分析 */
- 63 #define OS_CFG_TASK_REG_TBL_SIZE 1u /*任务特定寄存器的数量 */
- 64 #define OS_CFG_TASK_SEM_PEND_ABORT_EN 1u /* 是否包含OSTaskSemPendAbort()的代码 */
- 65 #define OS_CFG_TASK_SUSPEND_EN 1u /*是否包含OSTaskSuspend()和
- 66 OSTaskResume()的代码*/
- 67
- 68 /* ------- 时间管理 ------- */
- 69 #define OS_CFG_TIME_DLY_HMSM_EN 1u /*是否包含OSTimeDlyHMSM()的代码*/
- 70 #define OS_CFG_TIME_DLY_RESUME_EN 1u /*是否包含OSTimeDlyResume()的代码*/
- 71
- 72
- 73 /* ---------- 定时器管理 ------- */
- 74 #define OS_CFG_TMR_EN 1u /* 是否使用定时器 */
- 75 #define OS_CFG_TMR_DEL_EN 1u /* 是否支持OSTmrDel() */
- 76
- 77 #endif
|