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的自然字大小进行调整。

  • 39
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
嵌入式实时操作系统μC/OS-III是一款非常流行且广泛应用的实时操作系统。它被设计用于嵌入式系统中,满足实时性要求高的应用程序的需求。 uCos-III的电子书是对该实时操作系统的详细介绍和使用指南。这本电子书可以帮助读者了解嵌入式系统的基本概念、实时操作系统的工作原理和应用开发方面的技术。它提供了一系列有关uCos-III的知识和实例,使读者能够快速了解和掌握该实时操作系统的使用方法。 这本电子书主要涵盖以下内容: 1. uCos-III的基本概念:介绍了实时操作系统的定义、特点和应用领域,让读者了解操作系统在嵌入式系统中的重要性和作用。 2. uCos-III的架构和特性:介绍了uCos-III的体系结构和主要特性,如任务调度、时钟管理、内存管理、同步与通信等。 3. uCos-III的安装和配置:详细介绍了如何安装和配置uCos-III实时操作系统,包括编译器设置、硬件支持、内核配置等。 4. uCos-III的任务管理:讲解了任务的创建、删除、挂起和恢复等管理操作,同时介绍了任务优先级和实时调度算法。 5. uCos-III的管理服务和通信机制:介绍了信号量、互斥锁、消息队列、事件标志等管理服务和通信机制,帮助读者实现任务间的同步和通信。 6. uCos-III的中断处理和硬件驱动:讲解了中断处理的机制和方法,以及如何编写硬件驱动程序与uCos-III集成。 这本电子书适合嵌入式系统开发人员、学生以及对实时操作系统感兴趣的人阅读。通过学习这本电子书,读者可以准确理解uCos-III实时操作系统的概念和工作原理,并掌握如何使用uCos-III开发和调试嵌入式应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

TechIoT

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

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

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

打赏作者

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

抵扣说明:

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

余额充值