UCOS-III 系统配置

1. µC/OS-III 功能配置 (os_cfg.h)

os_cfg.h用于确定应用程序所需的µC/OS-III功能,详细如下: 

1.1杂项

  • OS_CFG_APP_HOOKS_EN: 启用/禁用应用程序特定的钩子。
  • OS_CFG_ARG_CHK_EN: 启用/禁用参数检查。
  • OS_CFG_CALLED_FROM_ISR_CHK_EN: 启用/禁用中断服务程序(ISR)检查。
  • OS_CFG_DBG_EN: 启用/禁用调试代码/变量。
  • OS_CFG_TICK_EN: 启用/禁用内核滴答。
  • OS_CFG_DYN_TICK_EN: 启用/禁用动态滴答。
  • OS_CFG_INVALID_OS_CALLS_CHK_EN: 启用/禁用内核调用检查。
  • OS_CFG_OBJ_TYPE_CHK_EN: 启用/禁用对象类型检查。
  • OS_CFG_OBJ_CREATED_CHK_EN: 启用/禁用对象创建检查。
  • OS_CFG_TS_EN: 启用/禁用时间戳。
  • OS_CFG_PRIO_MAX: 定义最大任务优先级数。
  • OS_CFG_SCHED_LOCK_TIME_MEAS_EN: 启用/禁用调度器锁定时间测量。
  • OS_CFG_SCHED_ROUND_ROBIN_EN: 启用/禁用轮转调度。
  • OS_CFG_STK_SIZE_MIN: 最小任务堆栈大小。

1.2 事件标志

  • OS_CFG_FLAG_EN: 启用/禁用事件标志。
  • OS_CFG_FLAG_DEL_EN: 包含OSFlagDel()代码。
  • OS_CFG_FLAG_MODE_CLR_EN: 包含清除事件标志的等待模式代码。
  • OS_CFG_FLAG_PEND_ABORT_EN: 包含OSFlagPendAbort()代码。

1.3 内存管理

  • OS_CFG_MEM_EN: 启用/禁用内存管理代码。

1.4 互斥锁

  • OS_CFG_MUTEX_EN: 启用/禁用互斥信号量。
  • OS_CFG_MUTEX_DEL_EN: 包含OSMutexDel()代码。
  • OS_CFG_MUTEX_PEND_ABORT_EN: 包含OSMutexPendAbort()代码。

1.5 消息队列

  • OS_CFG_Q_EN: 启用/禁用消息队列。
  • OS_CFG_Q_DEL_EN: 包含OSQDel()代码。
  • OS_CFG_Q_FLUSH_EN: 包含OSQFlush()代码。
  • OS_CFG_Q_PEND_ABORT_EN: 包含OSQPendAbort()代码。

1.6 信号量

  • OS_CFG_SEM_EN: 启用/禁用信号量。
  • OS_CFG_SEM_DEL_EN: 包含OSSemDel()代码。
  • OS_CFG_SEM_PEND_ABORT_EN: 包含OSSemPendAbort()代码。
  • OS_CFG_SEM_SET_EN: 包含OSSemSet()代码。

1.5 任务管理

  • OS_CFG_STAT_TASK_EN: 启用/禁用统计任务。
  • OS_CFG_STAT_TASK_STK_CHK_EN: 检查统计任务的堆栈。
  • OS_CFG_TASK_CHANGE_PRIO_EN: 包含OSTaskChangePrio()代码。
  • OS_CFG_TASK_DEL_EN: 包含OSTaskDel()代码。
  • OS_CFG_TASK_IDLE_EN: 包含空闲任务。
  • OS_CFG_TASK_PROFILE_EN: 包含OS_TCB中的概要变量。
  • OS_CFG_TASK_Q_EN: 包含OSTaskQXXXX()代码。
  • OS_CFG_TASK_Q_PEND_ABORT_EN: 包含OSTaskQPendAbort()代码。
  • OS_CFG_TASK_REG_TBL_SIZE: 任务特定寄存器数量。
  • OS_CFG_TASK_STK_REDZONE_EN: 启用/禁用堆栈红区。
  • OS_CFG_TASK_STK_REDZONE_DEPTH: 堆栈红区深度。
  • OS_CFG_TASK_SEM_PEND_ABORT_EN: 包含OSTaskSemPendAbort()代码。
  • OS_CFG_TASK_SUSPEND_EN: 包含OSTaskSuspend()OSTaskResume()代码。

1.6 任务本地存储管理

  • OS_CFG_TLS_TBL_SIZE: 包含任务本地存储(TLS)寄存器代码。

1.7 时间管理

  • OS_CFG_TIME_DLY_HMSM_EN: 包含OSTimeDlyHMSM()代码。
  • OS_CFG_TIME_DLY_RESUME_EN: 包含OSTimeDlyResume()代码。

1.8 定时器管理

  • OS_CFG_TMR_EN: 启用/禁用定时器代码。
  • OS_CFG_TMR_DEL_EN: 包含OSTmrDel()代码。

1.9 跟踪记录器

  • OS_CFG_TRACE_EN: 启用/禁用µC/OS-III跟踪工具。
  • OS_CFG_TRACE_API_ENTER_EN: 启用/禁用µC/OS-III API进入跟踪。
  • OS_CFG_TRACE_API_EXIT_EN: 启用/禁用µC/OS-III API退出跟踪。

 

2. µC/OS-III 堆栈、系统任务和其他数据大小 (os_cfg_app.h)

通过os_cfg_app.h用户可以指定空闲任务、统计任务、滴答任务、定时器任务和ISR处理任务的堆栈大小,以及任务优先级、时钟滴答等。

  • OS_CFG_ISR_STK_SIZE: ISR堆栈大小(CPU_STK元素数量)
  • OS_CFG_MSG_POOL_SIZE: 最大消息数
  • OS_CFG_TASK_STK_LIMIT_PCT_EMPTY: 堆栈限制位置(空余百分比)
  • OS_CFG_IDLE_TASK_STK_SIZE: 空闲任务堆栈大小
  • OS_CFG_STAT_TASK_PRIO: 统计任务优先级
  • OS_CFG_STAT_TASK_RATE_HZ: 统计任务执行频率(1到10 Hz)
  • OS_CFG_STAT_TASK_STK_SIZE: 统计任务堆栈大小
  • OS_CFG_TICK_RATE_HZ: 系统时钟频率(10到1000 Hz)
  • OS_CFG_TMR_TASK_PRIO: 系统定时器任务优先级
  • OS_CFG_TMR_TASK_STK_SIZE: 系统定时器堆栈大小
  • OS_CFG_TMR_TASK_RATE_HZ: 系统定时器频率

 

3. µC/OS-III 数据类型 (os_type.h)

os_type.h定义了构建应用程序时使用的µC/OS-III特定数据类型,指定了表示任务优先级、信号量计数等变量的大小。需根据CPU的自然字大小进行调整。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TechIoT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值