UCOS-III 系统时钟工作模式

1. 无系统时钟模式

无系统时钟模式,一般用于低功耗设备, 系统进入空闲任务时,可以让CPU进入低功耗模式,通过外部事件唤醒CPU。无系统时钟模式,不能使用延时服务、阻塞超时服务、定时服务以及时间片调度服务。

1.1 无系统时钟模式下,系统工作在无时间服务的状态

1)任务通过挂起内核对象来等待来自 ISR 的信号 
2)由于系统任务处于挂起状态,内核切换到空闲任务,直到发生调度事件。还可以通过OSIdleTaskHook() 回调进入低功耗模式。 
3)当外设中断最终发生时,系统离开低功耗状态,进入中断服务 
4)在服务中断之后,ISR 通过发布内核对象让任务进入就绪状态 
5)当调用 OSIntExit() 时,将会进行系统调度,执行就绪任务

1.2 无系统时钟模式下,通过硬件定时器提供简单的时间服务

1) 任务希望延迟 1 分钟,在挂起内核对象之前,将硬件定时器配置为一分钟后触发中断,并启动定时器。 
2) 主动挂起任务 
3) 切换到空闲任务,可能进入低功耗状态。 
4) 一分钟后,定时器发生中断,退出低功耗模式,通过发布内核对象唤醒任务。

2. 周期性系统时钟模式

1)周期性系统时钟模式,通过周期性的时钟中断,来提供延时服务、超时服务、定时服务。

2)周期性系统时钟(1-100ms), 频率越高CPU消耗越高,需根据任务的实时性要求调整系时钟周期

3)可以在OSTimeTickHook()内实现不受系统抖动影响的高精度定时任务,如数据采集等。

3. 动态系统时钟模式

        动态系统时钟模式,通过设置硬件定时器,提供延时服务、超时服务,但不支持时间片轮调度。系统不会定时产生周期性的时钟中断; 当有任务需要延时服务或定时服务时,通过调用接口OS_DynTickSet设置并启动硬件定时器,硬件定时器超时进入ISR并调用 OSTimeDynTick()更新系统时钟。OS_DynTickSet、OS_DynTickGet需要BSP实现。

  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 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
发出的红包

打赏作者

物联网全栈工程猪

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

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

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

打赏作者

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

抵扣说明:

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

余额充值