/* ********************************************************************************************************* * uC/OS-II * The Real-Time Kernel * * (c) Copyright 1992-2005, Jean J. Labrosse, Weston, FL * All Rights Reserved * * uC/OS-II Configuration File for V2.8x * * File : OS_CFG.H * By : Jean J. Labrosse * Version : V2.80 ********************************************************************************************************* */ #ifndef OS_uCOS_II_H #define OS_uCOS_II_H /* ----------------------- uC/OS-View ------------------------- */ #define OS_VIEW_MODULE 0 /* When 1, indicate that uC/OS-View is present */ /* ---------------------- MISCELLANEOUS ----------------------- */ #define OS_ARG_CHK_EN 1 /* 允许或禁止变量检查。 */ #define OS_CPU_HOOKS_EN 1 /* 定义为0时,UC/OS II提供的接口函数可以重新定义。                   为1时,使用系统提供的函数。uC/OS-II hooks are found in the processor port files / #define OS_DEBUG_EN 0 /* Enable(1) debug variables */ #define OS_EVENT_NAME_SIZE 32 /* Determine the size of the name of a Sem, Mutex, Mbox or Q */ #define OS_LOWEST_PRIO 63 /* 任务中的最低任务优先级,不得大于63 */ #define OS_MAX_EVENTS 10 /* 应用中最多事件控制块的数目,必须大于0 */ #define OS_MAX_FLAGS 5 /* 应用中最多事件标志组的数目,必须大于0 */ #define OS_MAX_MEM_PART 5 /* 最大内存控制块Max. number of memory partitions */ #define OS_MAX_QS 4 /* 定义可以在任务中使用的最大消息队列数目。Max. number of queue control blocks in your application */ #define OS_MAX_TASKS 20 /* 最多任务数,必须大于或者等于2 */ #define OS_SCHED_LOCK_EN 1 /* 为1时允许开锁上锁 Include code for OSSchedLock() and OSSchedUnlock() */ #define OS_TASK_IDLE_STK_SIZE 128 /* 空闲任务堆栈容量(#按照OS_STK的宽度的数目) */ #define OS_TASK_STAT_EN 1 /* 允许(1)或者禁止(0)统计任务。 */ #define OS_TASK_STAT_STK_SIZE 128 /* 统计任务堆栈容量 (# 按照OS_STK的宽度数目。) */ #define OS_TASK_STAT_STK_CHK_EN 1 /* Check task stacks from statistic task */ #define OS_TICK_STEP_EN 1 /* Enable tick stepping feature for uC/OS-View */ #define OS_TICKS_PER_SEC 100 /* 时钟节拍常数,要与实际所设置一样。Set the number of ticks in one second */ /* -事件标志组管理函数相关使能--------- EVENT FLAGS ------------------------ */ #define OS_FLAG_EN 1 /* 允许(1)或者禁止(0)产生可件标志代码。 */ #define OS_FLAG_WAIT_CLR_EN 1 /* 允许生成 Wait on Clear 事件标志代码。 */ #define OS_FLAG_ACCEPT_EN 1 /* 允许生成 OSFlagAccept()函数代码 */ #define OS_FLAG_DEL_EN 1 /* 允许生成 OSFlagDel() 函数代码 */ #define OS_FLAG_NAME_SIZE 32 /* 事件标志组名字的允许长度。 */ #define OS_FLAG_QUERY_EN 1 /* 允许生成 OSFlagQuery()函数代码。 */ #if OS_VERSION >= 280 #define OS_FLAGS_NBITS 16 /* Size in #bits of OS_FLAGS data type (8, 16 or 32) */ #endif /* 消息邮箱管理相关使能-- MESSAGE MAILBOXES --------------------- */ #define OS_MBOX_EN 1 /* 使能(1)或者禁止(0)产生邮箱代码 */ #define OS_MBOX_ACCEPT_EN 1 /* 允许生成 OSMboxAccept() 代码 */ #define OS_MBOX_DEL_EN 1 /* 允许生成 OSMboxDel() 函数代码 */ #define OS_MBOX_POST_EN 1 /* 允许生成 OSMboxPost() 代码 */ #define OS_MBOX_POST_OPT_EN 1 /* 允许生成 OSMboxPostOpt() 代码*/ #define OS_MBOX_QUERY_EN 1 /* 允许生成 OSMboxQuery() 代码 */ /* 内存管理相关使能控制-------- MEMORY MANAGEMENT*/ #define OS_MEM_EN 1 /* 允许(1)或者禁止(0)产生内存关系代码 */ #define OS_MEM_QUERY_EN 1 /* 允许生成 OSMemQuery() 函数代码。*/ #define OS_MEM_NAME_SIZE 32 /* 允许内存分区名字的长度。 */ /* 互斥型信号量管理------ MUTUAL EXCLUSION SEMAPHORES - */ #define OS_MUTEX_EN 1 /* 允许(1)或者禁止(0)产生互斥型信号量。*/ #define OS_MUTEX_ACCEPT_EN 1 /* 允许产生 OSMutexAccept() 函数代码 */ #define OS_MUTEX_DEL_EN 1 /* 允许产生 OSMutexDel() 函数代码 */ #define OS_MUTEX_QUERY_EN 1 /* 允许产生 OSMutexQuery()函数代码。 */ /* 消息队列管理相关使能常量------- MESSAGE QUEUES - */ #define OS_Q_EN 1 /* 允许(1)或禁止(0)产生消息队列代码 */ #define OS_Q_ACCEPT_EN 1 /* 允许产生 OSQAccept()函数代码 */ #define OS_Q_DEL_EN 1 /* 允许产生 for OSQDel() 函数代码 */ #define OS_Q_FLUSH_EN 1 /* 允许产生 for OSQFlush()函数代码 */ #define OS_Q_POST_EN 1 /* 允许产生 for OSQPost() 函数代码 */ #define OS_Q_POST_FRONT_EN 1 /* 允许产生 for OSQPostFront()函数代码 */ #define OS_Q_POST_OPT_EN 1 /* 允许产生 for OSQPostOpt() 函数代码 */ #define OS_Q_QUERY_EN 1 /* 允许产生 for OSQQuery() 函数代码 */ /* 使能信号管理相关函数--- SEMAPHORES ------------------------ */ #define OS_SEM_EN 1 /* 允许(1)或禁止(0)产生信号量相关代码。 */ #define OS_SEM_ACCEPT_EN 1 /* 允许产生 OSSemAccept()函数代码 */ #define OS_SEM_DEL_EN 1 /* 允许产生 OSSemDel() 函数代码 */ #define OS_SEM_QUERY_EN 1 /* 允许产生 OSSemQuery()函数代码 */ #define OS_SEM_SET_EN 1 /* 允许产生 OSSemSet()函数代码 */ /* --------------------- TASK MANAGEMENT ---------------------- */ #define OS_TASK_CHANGE_PRIO_EN 1 /* 允许产生 OSTaskChangePrio() 函数代码 */ #define OS_TASK_CREATE_EN 1 /* 允许产生 OSTaskCreate() 函数代码 */ #define OS_TASK_CREATE_EXT_EN 1 /* 允许产生 OSTaskCreateExt() 函数代码 */ #define OS_TASK_DEL_EN 1 /* 允许产生 OSTaskDel() 函数代码 */ #define OS_TASK_NAME_SIZE 32 /* 任务名字的长度 */ #define OS_TASK_PROFILE_EN 1 /* 允许产生 OS_TCB 中的变量。*/ #define OS_TASK_QUERY_EN 1 /* 允许产生 OSTaskQuery() 函数代码 */ #define OS_TASK_SUSPEND_EN 1 /* 允许产生 OSTaskSuspend() and OSTaskResume()函数代码 */ #define OS_TASK_SW_HOOK_EN 1 /* 允许产生 OSTaskSwHook() 函数代码 */ /* --------------------- TIME MANAGEMENT ---------------------- */ #define OS_TIME_DLY_HMSM_EN 1 /* 允许产生 OSTimeDlyHMSM() 函数代码 */ #define OS_TIME_DLY_RESUME_EN 1 /* 允许产生 OSTimeDlyResume() 函数代码 */ #define OS_TIME_GET_SET_EN 1 /* 允许产生 OSTimeGet() and OSTimeSet()函数代码 */ #define OS_TIME_TICK_HOOK_EN 1 /* 允许产生 OSTimeTickHook() 函数代码 */ #if OS_VERSION < 280 typedef INT16U OS_FLAGS; #endif #endif