分享

uC/OS

 圆锥的布袋 2017-04-25

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  定时器轮盘大小

 


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多