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 /*******************************************结束***********************************************/