FreeRTOS学习十(低功耗)

本文详细介绍了FreeRTOS如何通过Tickless模式实现低功耗管理,当处理器空闲且预计闲置时间超过一定阈值时,系统会进入低功耗模式,并在需要时由中断唤醒。configUSE_TICKLESS_IDLE宏启用此功能,portSUPPRESS_TICKS_AND_SLEEP函数处理低功耗相关任务,同时configPRE_SLEEP_PROCESSING和configPOST_SLEEP_PROCESSING宏用于进入和退出低功耗前后的处理,如调整处理器频率和关闭外设时钟。

低功耗实现概念

        RTOS在一般的应用中,处理器大量的时间都在处理空闲任务,此时可以考虑让处理器在空闲任务的时候进入低功耗模式。当需要处理应用层代码的时候就将处理器从低功耗模式唤醒。FreeRTOS就是通过在处理器处理空闲任务的时候将处理器设置为低功耗模式来降低功耗。一般会在空闲任务的钩子函数中执行低功耗相关处理。比如设置处理器进入低功耗模式、关闭其他外设时钟、降低系统主频等等。

        FreeRTOS的系统时钟是由滴答定时器中断来提供的,系统时钟频率越高,那么滴答定时器中断频率就越高。而中断会将芯片从休眠模式中唤醒,周期性的滴答定时器中断就会导致芯片周期性的进入和退出休眠模式。因此,如果滴答定时器中断频率太高的话会导致大量的能量和时间消耗在进出休眠模式中,这样导致的结果就是低功耗模式的作用被大大的削弱。

        为此,FreeRTOS特地提供了一个解决方法--Tickless模式,当处理器进入空闲任务以后就关闭系统节拍中断(滴答定时器中断),只有当其他

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值