uC/OS-III配置文件 os_cfg.h 决定哪些功能被启用,哪些功能是不需要的OS_CFG_APP_HOOKS_EN 1 介入函数(钩子函数)可以调用用户定义的介入函数
OS_CFG_ARG_CHK_EN 是否希望对uC/OS-III的大部分函数执行参数检查 1 将确保传递给函数的指针非null、参数值在允许的范围内、选项是有效等
OS_CFG_CALLED_FROM_ISR_CHK_EN 1 确保那些只可被任务级代码调用的函数未被ISR所调用,除了’’post ”类的发送函数
OS_CFG_DBG_EN 1 os_dbg.c中的ROM常量将被添加以支持内核觉察式调试器
OS_CFG_FLAG_EN 允许(1)或者禁止(0)生成事件标志服务的代码和数据结构
OS_CFG_FLAG_DEL_EN 允许(1)或者(0)禁止生成OSFlagDel()函数的代码
OS_CFG_FLAG_MODE_CLR_EN 1 允许生成代码用于等待事件标志变为0而不是1
OS_CFG_FLAG_PENG_ABORT_EN 1 允许生成OSFlagPendAbort()函数的代码
OS_CFG_ISR_POST_DEFERRED_EN 1 中断延迟短,ISR-任务响应长 启用事件标志,等待对个对象服务,OS???Post()广播,OS???Del()启用OS_OPT_DEL_ALWAYS,OS???PendAbort() 服务时常设置为1 0 中断延迟长,ISR-任务响应短
1.OS_CFG_MEM_EN 1允许生成uC/OS-III的分区存储管理代码和相关的数据结构
2.OS_CFG_MUTEX_EN 1 允许生成所有互斥信号量服务的代码和数据结构。
OS_CFG_MUTEX_DEL_EN 1 允许生成OSMutexDel()函数的代码
OS_CFG_MUTEX_PEND_ABORT_EN允许生成OSMutexPendAbort()函数的代码
OS_CFG_OBJ_TYPE_CHK_EN 决定是否让大多数的uC/OS-III函数检查其操作的内核对象的类型是否正确
OS_CFG_PEND_MULTI_EN 是否支持等待多个事件(如信号量或消息队列)
OS_CFG_PRIO_MAX 应用程序可用优先级的最大数量
3.OS_CFG_Q_EN允许(1)或者禁止(0)生成消息队列服务的代码和数据结构
OS_CFG_Q_DEL_EN允许(1)或者禁止(0)生成QSQDel()函数的代码
OS_CFG_Q_FLUSH_EN 允许或禁止生成QSQFlush()函数的代码
OS_CFG_Q_PEND_ABORT_EN 允许或禁止生成QSQPendAbort()函数的代码
OS_CFG_SCHED_LOCK_TIME_MEAS_EN 允许或禁止生成测量调度器锁定时间的代码
OS_CFG_SCHED_ROUND_ROBIN_EN 允许或禁止生成uC/OS-III的时间片轮转调度代码
4.OS_CFG_SEM_EN 允许或禁止生成信号量管理的代码和相关数据结构
OS_CFG_SEM_DEL_EN 允许或禁止生成OSSemDel()函数的代码
OS_CFG_SEM_PEND_ABORT_EN 允许或禁止生成QSSemPendAbort()函数的代码
OS_CFG_SEM_SET_EN 允许或禁止生成OSSemSet()函数的代码
OS_CFG_STAT_TASK_EN 确定是否启用uC/OS-III的统计任务OS_StatTask()以及它的初始化函数
OS_CFG_STAT_TASK_STK_CHK_EN (统计任务开启条件下) 1 统计任务为每个创建的任务调用OSTaskStkChk()
OS_CFG_STK_SIZE_MIN 定义了各个任务的最小堆栈大小
OS_CFG_TASK_CHANGE_PRIO_EN 允许或禁止生成OSTaskChangePrio()函数的代码
OS_CFG_TASK_DEL_EN 允许或禁止生成OSTaskDel()函数的代码
5.OS_CFG_TASK_Q_EN 允许或禁止生成直接向/从任务和ISR发送和接收消息的OSTaskQxxx函数代码。直接向一个任务发送消息回避通过消息队列发送消息更有效率一些, 因为不再有与消息关联的等待表
OS_CFG_TASK_Q_PEND_ABORT_EN 允许或禁止生成OSTaskQPendAbort()函数的代码
OS_CFG_TASK_PROFILE_EN 1 每个任务将有一个变量来跟踪任务切换的次数、任务相对其他任务的CPU使用率等
OS_CFG_TASK_RGE_TBL_SIZE 允许各任务拥有任务运行环境(context)的变量,任务拥有的变量数目是由这个常量设置的
OS_CFG_TASK_SEM_PEND_ABORT_EN允许或禁止生成OSTaskSemPendAbort()函数的代码
OS_CFG_SUSPEND_EN 1 生成OSTaskSusPend()和OSTaskResume()函数的代码
OS_CFG_TIME_DLY_HMSM_EN 1 生成OSTimeDlyHMSM( )函数的代码,用于将一个任务延迟指定的小时、分、秒和毫秒数
OS_CFG_TIME_DLY_RESUME_EN 启用或禁止生成OSTimeDlyResume( )函数的代码
OS_CFG_TMR_EN 1 启用生成定时器管理服务的代码
OS_CFG_TMR_DEL_EN 允许或禁止生成OSTmrDel( )函数的代码
os_type.h包含uC/OS-III所用到的数据类型
os_cfg_app.h 配置空闲任务堆栈的大小、统计任务堆栈、消息池、时钟节拍轮盘、定时器轮盘、调试表等 OS_CFG_TASK_STK_LIMIT_PCT_EMPTY 为空闲任务、统计任务、节拍任务、中断队处理任务和定时器任务的任务堆栈设置堆栈溢出检测限位(以空余百分比形式)
1.OS_CFG_IDLE_TASK_STK_SIZE 设置空闲任务的堆栈大小(以CPU_STK为单位)
2.OS_CFG_INT_Q_S 指定中断队列可以容纳的项目数 (OS_CFG_ISR_POST_DEFERRED_EN 1 )
OS_CFG_INT_Q_TASK_STK_SIZE 设置中断队列处理任务的堆栈大小(以CPU_STK为单位) (OS_CFG_ISR_POST_DEFERRED_EN 1 )
OS_CFG_ISR_STK_SIZE 设置uC/OS-III的中断堆栈大小(以CPU_STK为单位)
OS_CFG_MSG_POOL_SIZE 指定OS_MSGs消息池中可用的OS_MSGs的数量(以OS_MSG为单元)
3.OS_CFG_STAT_TASK_PRIO 允许用户指定分配给uC/OS-III 统计任务的优先级
OS_CFG_STAT_TASK_RATE_HZ 设置统计任务的执行频率,以Hz为单位。建议是节拍频率(OS_CFG_TICK_RATE_HZ)的偶数分之一
OS_CFG_STAT_TASK_STK_SIZE 设置统治任务的堆栈大小(以CPU_STK为单位)
4.OS_CFG_TICK_ RATE_HZ 设置uC/OS-III节拍中断的频率,以Hz为单位(10~1000Hz)
OS_CFG_TICK_TASK_PRIO 设置uC/OS-III节拍任务的优先级,建议设置在相当高的优 先级上
OS_CFG_TICK_TASK_STK_SIZE 设置uC/OS-III节拍任务的堆栈大小(以CPU_STK为单位)
OS_CFG_TICK_WHEEL_SIZE 定义OSTickWheel[ ]表中的项目数。”轮盘”的作用,是可以减少节拍任务每次需要检查更新的任务数。(4~1024之间,建议为质数)
5.OS_CFG_TMR_TASK_PRIO 分配给uC/OS-III定时器任务的优先级 定时器频率高 高优先级 定时器轮盘尺寸大 高优先级 定时器数量多 低优先级
OS_CFG_TMR_TASK_RATE_HZ uC/OS-III定时器任务的频率,以Hz为单位,设置为10Hz 必须是OS_CFG_TICK_RATE_HZ的整数分之一
OS_CFG_TMR_TASK_STK_SIZE 定时器任务的堆栈大小
OS_CFG_TMR_WHEEL_SIZE 定时器轮盘大小
|
|