1 /* 2 ************************************************************************************************ 3 * 4 * uC/OS-II实时控制内核 5 * 主要的包含文件 6 * 7 * 文 件: OS_CFG.H ucos内核构造文件 8 * 作 者: Jean J. Labrosse 9 * 中文注解: 钟常慰 zhongcw @ 126.com 整理:lin-credible 译注版本:1.0 请尊重原版内容 10 ************************************************************************************************ 11 */ 12 13 /* 14 ************************************************************************************************ 15 * uC/OS-II 的内核构造 16 ************************************************************************************************ 17 */ 18 19 #define OS_MAX_EVENTS 2 /* 应用中最多事件控制块的数目... */ 20 /* ... 必须大于 0 */ 21 #define OS_MAX_FLAGS 5 /* 应用中最多事件标志组的数目... */ 22 /* ... 必须大于 0 */ 23 #define OS_MAX_MEM_PART 5 /* 最多内存块的数目... */ 24 /* ... 必须大于 0 */ 25 #define OS_MAX_QS 2 /* 应用中最多对列控制块的数目... */ 26 /* ... 必须大于 0 */ 27 #define OS_MAX_TASKS 11 /* 应用中最多任务数目... */ 28 /* ... 必须大于等于2 */ 29 30 #define OS_LOWEST_PRIO 12 /* 定义任务的最低优先级... */ 31 /* ... 不得大于 63 ! */ 32 33 #define OS_TASK_IDLE_STK_SIZE 512 /* 统计任务堆栈容量( # 按照OS_STK的宽度数目) */ 34 35 #define OS_TASK_STAT_EN 1 /* 允许 (1) 或者禁止 (0) 统计任务 */ 36 #define OS_TASK_STAT_STK_SIZE 512 /* 空闲任务堆栈容量 (#按照OS_STK的宽度数目) */ 37 38 #define OS_ARG_CHK_EN 1 /* 允许 (1) 或者禁止 (0) 变量检查 */ 39 #define OS_CPU_HOOKS_EN 1 /* 在处理器移植文件中允许使用 uC/OS-II 的接口函数 */ 40 41 42 /* -------------------事件标志管理 ------------------- */ 43 #define OS_FLAG_EN 1 /* 允许 (1) 或者禁止 (0) 产生事件标志相关代码 */ 44 #define OS_FLAG_WAIT_CLR_EN 1 /* 允许生成 Wait on Clear 事件标志代码 */ 45 #define OS_FLAG_ACCEPT_EN 1 /* 允许生成 OSFlagAccept() */ 46 #define OS_FLAG_DEL_EN 1 /* 允许生成 OSFlagDel() */ 47 #define OS_FLAG_QUERY_EN 1 /* 允许生成 OSFlagQuery() */ 48 49 50 /* -------------------消息邮箱管理 -------- ---------- */ 51 #define OS_MBOX_EN 1 /* 允许 (1) 或者禁止 (0) 产生消息邮箱相关代码 */ 52 #define OS_MBOX_ACCEPT_EN 1 /* 允许生成 OSMboxAccept() */ 53 #define OS_MBOX_DEL_EN 1 /* 允许生成 OSMboxDel() */ 54 #define OS_MBOX_POST_EN 1 /* 允许生成 OSMboxPost() */ 55 #define OS_MBOX_POST_OPT_EN 1 /* 允许生成 OSMboxPostOpt() */ 56 #define OS_MBOX_QUERY_EN 1 /* 允许生成 OSMboxQuery() */ 57 58 59 /* ---------------------内存管理 --------------------- */ 60 #define OS_MEM_EN 1 /* 允许 (1) 或者禁止 (0) 产生内存相关代码 */ 61 #define OS_MEM_QUERY_EN 1 /* 允许生成 OSMemQuery() */ 62 63 64 /* ---------------- 互斥型信号量管理 ----------------- */ 65 #define OS_MUTEX_EN 1 /* 允许 (1) 或者禁止 (0) 产生互斥型信号量相关代码 */ 66 #define OS_MUTEX_ACCEPT_EN 1 /* 允许生成 OSMutexAccept() */ 67 #define OS_MUTEX_DEL_EN 1 /* 允许生成 OSMutexDel() */ 68 #define OS_MUTEX_QUERY_EN 1 /* 允许生成 OSMutexQuery() */ 69 70 71 /* -------------------消息队列号管理 ----------------- */ 72 #define OS_Q_EN 1 /* 允许 (1) 或者禁止 (0) 产生消息队列相关代码 */ 73 #define OS_Q_ACCEPT_EN 1 /* 允许生成 OSQAccept() */ 74 #define OS_Q_DEL_EN 1 /* 允许生成 OSQDel() */ 75 #define OS_Q_FLUSH_EN 1 /* 允许生成 OSQFlush() */ 76 #define OS_Q_POST_EN 1 /* 允许生成 OSQPost() */ 77 #define OS_Q_POST_FRONT_EN 1 /* 允许生成 OSQPostFront() */ 78 #define OS_Q_POST_OPT_EN 1 /* 允许生成 OSQPostOpt() */ 79 #define OS_Q_QUERY_EN 1 /* 允许生成 OSQQuery() */ 80 81 82 /* ---------------------信号管理 --------------------- */ 83 #define OS_SEM_EN 1 /* 允许 (1) 或者禁止 (0) 产生信号量相关代码 */ 84 #define OS_SEM_ACCEPT_EN 1 /* 允许生成 OSSemAccept() */ 85 #define OS_SEM_DEL_EN 1 /* 允许生成 OSSemDel() */ 86 #define OS_SEM_QUERY_EN 1 /* 允许生成 OSSemQuery() */ 87 88 89 /* -------------------任务管理 ----------------------- */ 90 #define OS_TASK_CHANGE_PRIO_EN 1 /* 允许生成 OSTaskChangePrio() 函数代码 */ 91 #define OS_TASK_CREATE_EN 1 /* 允许生成 OSTaskCreate() 函数代码 */ 92 #define OS_TASK_CREATE_EXT_EN 1 /* 允许生成 OSTaskCreateExt() 函数代码 */ 93 #define OS_TASK_DEL_EN 1 /* 允许生成 OSTaskDel() 函数代码 */ 94 #define OS_TASK_SUSPEND_EN 1 /* 允许生成 OSTaskSuspend() and OSTaskResume() 函数代码*/ 95 #define OS_TASK_QUERY_EN 1 /* 允许生成 OSTaskQuery() 函数代码 */ 96 97 98 /* ----------------------时间管理 -------------------- */ 99 #define OS_TIME_DLY_HMSM_EN 1 /* 允许生成OSTimeDlyHMSM() 函数代码 */ 100 #define OS_TIME_DLY_RESUME_EN 1 /* 允许生成OSTimeDlyResume() 函数代码 */ 101 #define OS_TIME_GET_SET_EN 1 /* 允许生成 OSTimeGet() 和 OSTimeSet() 函数代码 */ 102 103 104 /* -------------------- 混合管理 --------------------- */ 105 #define OS_SCHED_LOCK_EN 1 /* 允许生成 OSSchedLock() 和 OSSchedUnlock() 代码 */ 106 107 108 #define OS_TICKS_PER_SEC 200 /* 设置每秒的节拍数目 */ 109 110 111 typedef INT16U OS_FLAGS; /* 事件标志的数据类型 (8位, 16位 或 32 位) */ 112 113 /*******************************************结束***********************************************/