0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FreeRTOS空闲任务低功耗模式

麦辣鸡腿堡 来源:嵌入式Linux系统开发 作者:嵌入式Linux系统开 2023-07-30 11:03 次阅读

1、通用低功耗模式

如果使用通用低功耗模式的话每个滴答定时器中断都会将处理器从低功耗模式中唤醒,以(1)为例,再 T2 时刻处理器从低功耗模式中唤醒,但是接下来由于没有就绪的其他任务所以处理器又再一次进入低功耗模式。T2、T3 和 T4 这三个时刻都一样,反复的进入低功耗、退出低功耗,最理想的情况应该是从 T1 时刻就进入低功耗,然后在 T5 时刻退出。

在(2)中空闲任务只工作了两个时钟节拍,但是也执行了低功耗模式的进入和退出,显然这个意义不大,因为进出低功耗也是需要时间的。

(3)中空闲任务在 T12 时刻被某个外部中断唤醒,中断的具体处理过程在任务 2(使用信号量实现中断与任务之间的同步)。

2、低功耗 Tickless 模式

在(1)中的 T1 时刻处理器进入低功耗模式,在 T5 时刻退出低功耗模式。相比通用低功耗模式少了 3 次进出低功耗模式的操作。

在(2)中由于空闲任务只运行了两个时钟节拍,所以就没必要进入低功耗模式。说明在Tickless 模式中只有空闲任务要运行时间的超过某个最小阈值的时候才会进入低功耗模式,此阈值通过 configEXPECTED_IDLE_TIME_BEFORE_SLEEP 来设置。

(3)中的情况和通用低功耗模式一样。

可以看出相对与通用低功耗模式,FreeRTOS 自带的 Tickless 模式更加合理有效,所以如果有低功耗设计需求的话大家尽量使用 FreeRTOS 再带的 Tickless 模式。当然了,如果对于功耗要求不严格的话通用低功耗模式也可以使用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    4982

    文章

    18281

    浏览量

    288464
  • 低功耗
    +关注

    关注

    9

    文章

    2227

    浏览量

    102668
  • FreeRTOS
    +关注

    关注

    12

    文章

    473

    浏览量

    61347
收藏 人收藏

    评论

    相关推荐

    【安富莱】【RTX操作系统教程】第24章 RTX低功耗之tickless模式less模式

    又是怎样一种情况呢?我们都知道,当用户任务都被挂起时,最低优先级的空闲任务会得到执行。那么STM32支持的睡眠模式,停机模式就可以放在
    发表于 02-17 15:46

    第30章 FreeRTOS低功耗之睡眠模式

    ,STM32F407和STM32F429的低功耗方式之睡眠模式的一些知识点,第33章讲解FreeRTOS支持的tickless模式是睡眠模式
    发表于 09-12 17:21

    第32章 FreeRTOS低功耗之待机模式

    低功耗是MCU的一项重要的指标,本章节为大家讲解STM32F103,STM32F407和STM32F429的低功耗方式之待机模式FreeRTOS操作系统上面的实现方法。本章教程配套
    发表于 09-14 21:51

    第33章 FreeRTOS低功耗之tickless模式

    ,tickless又是怎样一种情况呢?我们都知道,当用户任务都被挂起或者阻塞时,最低优先级的空闲任务会得到执行。那么STM32支持的睡眠模式,停机
    发表于 09-17 20:43

    第24章 RTX低功耗之tickless模式

    时,最低优先级的空闲任务会得到执行。那么STM32支持的睡眠模式,停机模式就可以放在空闲任务里面
    发表于 10-10 08:40

    RTOS低功耗设计原理及实现_TicklessMode(FreeRTOS的实现)

    一般采用基于时间片轮转的抢占式任务调度机制,一般的低功耗设计思路如下:1. 当 Idle 任务运行时,进入低功耗模式;2. 在适当的条件下
    发表于 11-10 09:54

    适用于μC/OS-II的低功耗模式

    系统功耗,是一个值得探讨的问题。一般来说,嵌入式CPU都具有低功耗的工作模式,如果在任务调度的空闲时间,使CPU进入这种
    发表于 04-28 09:57

    如何在STM32上使用FreeRTOS的Tickless

    在STM32上使用FreeRTOS的Tickless(停止模式)RTOS的Tickless功能就是当程序运行在空闲任务中时,就进入低功耗
    发表于 01-17 07:18

    4.低功耗设计-stm32低功耗模式

    在之前的低功耗软件设计中也提到过一部分的stm32降功耗的方法,freeRtos系统帮我们写好的一个睡眠模式tickless,当我们的系统进入空闲
    发表于 11-06 10:51 2次下载
    4.<b class='flag-5'>低功耗</b>设计-stm32<b class='flag-5'>低功耗</b><b class='flag-5'>模式</b>

    STM32与FreeRTOS实现低功耗

    ,学长将简单描述一下 STM32 与 FreeRTOS 各自的低功耗特性,以及在配合使用时如何去实现产品的低功耗。一、STM32F769 芯片的三种低功耗
    发表于 12-07 20:06 19次下载
    STM32与<b class='flag-5'>FreeRTOS</b>实现<b class='flag-5'>低功耗</b>

    STM32L4 运行FreeRTOS之STOP2低功耗模式

    最近做一个物联网的项目,由于功能比较多,为了简化程序逻辑,所以使用了FreeRTOS操作系统,MCU为STM32L431。FreeRTOS的源码只实现了sleep级别低功耗模式(需要定
    发表于 12-07 20:21 21次下载
    STM32L4 运行<b class='flag-5'>FreeRTOS</b>之STOP2<b class='flag-5'>低功耗</b><b class='flag-5'>模式</b>

    在STM32上使用FreeRTOS的Tickless(停止模式)

    在STM32上使用FreeRTOS的Tickless(停止模式)RTOS的Tickless功能就是当程序运行在空闲任务中时,就进入低功耗
    发表于 01-17 09:40 3次下载
    在STM32上使用<b class='flag-5'>FreeRTOS</b>的Tickless(停止<b class='flag-5'>模式</b>)

    freeRTOS空闲任务的作用

    在嵌入式实时操作系统中,都会有空闲任务的存在,这个任务是伴随着操作系统启动之后而存在的。正常情况来说,系统不挂掉,空闲任务都会一直存在。
    的头像 发表于 07-04 15:16 880次阅读
    <b class='flag-5'>freeRTOS</b>中<b class='flag-5'>空闲</b><b class='flag-5'>任务</b>的作用

    FreeRTOS中的空闲任务是什么

    空闲任务FreeRTOS 必不可少的一个任务,其他 RTOS 类系统也有空闲任务,比如 uC
    的头像 发表于 07-30 10:55 774次阅读

    FreeRTOS如何降低功耗

    FreeRTOS 就是通过在处理器处理空闲任务的时候将处理器设置为低功耗模式来降低能耗。一般会在空闲
    的头像 发表于 07-30 11:18 693次阅读