Uso de RTOS
OS_CFG.H
Go to the documentation of this file.
1 
7 /*
8 *********************************************************************************************************
9 * uC/OS-II
10 * The Real-Time Kernel
11 *
12 * (c) Copyright 1992-2001, Jean J. Labrosse, Weston, FL
13 * All Rights Reserved
14 *
15 * uC/OS-II Configuration File for V2.51
16 *
17 * File : OS_CFG.H
18 * By : Jean J. Labrosse
19 *********************************************************************************************************
20 */
21 
22 /*
23 *********************************************************************************************************
24 * uC/OS-II CONFIGURATION
25 *********************************************************************************************************
26 */
27 
28 #define OS_MAX_EVENTS 10L
30  // 10L
31 #define OS_MAX_FLAGS 2L
35 #define OS_MAX_MEM_PART 1L
39 #define OS_MAX_QS 2L
43 #define OS_MAX_TASKS 8L
44  /* ... MUST be >= 2 */
45 
46 #define OS_LOWEST_PRIO 15L
47  /* ... MUST NEVER be higher than 63! */
48 
49 #define OS_TASK_IDLE_STK_SIZE 100L
51 #define OS_TASK_STAT_EN 0
52 #define OS_TASK_STAT_STK_SIZE 100L
54 #define OS_ARG_CHK_EN 1
55 #define OS_CPU_HOOKS_EN 1
58  /* ----------------------- EVENT FLAGS ------------------------ */
59 #define OS_FLAG_EN 0
60 #define OS_FLAG_WAIT_CLR_EN 1
61 #define OS_FLAG_ACCEPT_EN 1
62 #define OS_FLAG_DEL_EN 1
63 #define OS_FLAG_QUERY_EN 1
66  /* -------------------- MESSAGE MAILBOXES --------------------- */
67 #define OS_MBOX_EN 1
68 #define OS_MBOX_ACCEPT_EN 1
69 #define OS_MBOX_DEL_EN 1
70 #define OS_MBOX_POST_EN 1
71 #define OS_MBOX_POST_OPT_EN 1
72 #define OS_MBOX_QUERY_EN 1
75  /* --------------------- MEMORY MANAGEMENT -------------------- */
76 #define OS_MEM_EN 0
77 #define OS_MEM_QUERY_EN 1
80  /* ---------------- MUTUAL EXCLUSION SEMAPHORES --------------- */
81 #define OS_MUTEX_EN 0
82 #define OS_MUTEX_ACCEPT_EN 1
83 #define OS_MUTEX_DEL_EN 1
84 #define OS_MUTEX_QUERY_EN 1
87  /* ---------------------- MESSAGE QUEUES ---------------------- */
88 #define OS_Q_EN 0
89 #define OS_Q_ACCEPT_EN 1
90 #define OS_Q_DEL_EN 1
91 #define OS_Q_FLUSH_EN 1
92 #define OS_Q_POST_EN 1
93 #define OS_Q_POST_FRONT_EN 1
94 #define OS_Q_POST_OPT_EN 1
95 #define OS_Q_QUERY_EN 1
98  /* ------------------------ SEMAPHORES ------------------------ */
99 #define OS_SEM_EN 1
100 #define OS_SEM_ACCEPT_EN 1
101 #define OS_SEM_DEL_EN 1
102 #define OS_SEM_QUERY_EN 1
105  /* --------------------- TASK MANAGEMENT ---------------------- */
106 #define OS_TASK_CHANGE_PRIO_EN 0
107 #define OS_TASK_CREATE_EN 1
108 #define OS_TASK_CREATE_EXT_EN 0
109 #define OS_TASK_DEL_EN 0
110 #define OS_TASK_SUSPEND_EN 1
111 #define OS_TASK_QUERY_EN 0
114  /* --------------------- TIME MANAGEMENT ---------------------- */
115 #define OS_TIME_DLY_HMSM_EN 1
116 #define OS_TIME_DLY_RESUME_EN 1
117 #define OS_TIME_GET_SET_EN 1
120  /* ---------------------- MISCELLANEOUS ----------------------- */
121 #define OS_SCHED_LOCK_EN 1
124 #define OS_TICKS_PER_SEC 100L
127 typedef INT16U OS_FLAGS;
129 #ifdef OS_LOWEST_PRIO
130 #ifdef OS_MAX_TASKS
131  #if OS_LOWEST_PRIO < (OS_MAX_TASKS + 1)
132  #error "OS_CFG.H, OS_LOWEST_PRIO is set too low to use OS_MAX_TASKS"
133  #endif
134 #endif
135 #endif