Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
PM电源管理
关于RTT对低功耗的支持
发布于 2017-07-02 01:12:30 浏览:6100
订阅该版
情况是这样的,由于历史原因,公司的不同产品分别在使用不同的OS平台,我是RTT的忠实FANS,现在手上的一个产品就用RTT在开发,一直向公司和同事推荐使用RTT作为新产品的统一开发平台,这样配合RTT的驱动和工具代码,我们自己编写的代码也会更通用些,而不是拿之前的产品代码来改,改得心好累。。。 但是同事讲,我们做的是物联网产品,特别要考虑低功耗,像RTX(MDK自带的CMSIS-OS)和FreeRTOS都有低功耗设计的考虑,让我了解一下RTT对于低功耗的管理,我初步看了下,设备驱动那边有个RT_DEVICE_CTRL_RESUME和RT_DEVICE_CTRL_SUSPEND,其他好像就没有对低功耗的支持了。我看FreeRTOS和RTX实现了类似这样的两个接口:获取可以休眠的tick,恢复系统tick,可以在空闲线程中调用。 下面这个图是FreeRTOS对低功耗的处理模板: ![QQ图片20170702004153.png](/uploads/9606_b8e075f60c50975d6afabf91cf2fa76a.png) 使用RTX,我们这样处理低功耗: ```void idel_call(void) { /* 挂起OS, 并返回可以执行低功耗的时长 */ sleep = osKernelSuspend (); if (sleep) { //设置自动唤醒定时中断和其他唤醒中断 //睡眠N个tick(关闭了滴答定时器,可被其他中断事件唤醒) //恢复软硬件信息 } /* 恢复调度 */ osKernelResume (sleep); }``` 我又看了看RTT这边,通过下面的代码可以获取剩余延迟时间,但是没有接口恢复tick。 ```rt_tick_t rt_timer_next_timeout_tick(void)``` 可以考虑在rt_tick_set添加对tick恢复的处理。
查看更多
5
个回答
默认排序
按发布时间排序
bernard
2017-07-02
这家伙很懒,什么也没写!
void rt_tick_set(rt_tick_t tick); 这个接口有的呀,你用的什么版本?RT-Thread的低功耗代码后面也会给出,忙完一段时间,针对stm32l4吧,因为低功耗组件需要低功耗定时器。
toli
2017-07-02
这家伙很懒,什么也没写!
>void rt_tick_set(rt_tick_t tick); > >这个接口有的呀,你用的什么版本?RT-Thread的低功耗代码后面也会给出,忙完一段时间,针对stm32l4吧,因为低功耗组件需要低功耗定时器。 --- 我看到代码了 ``` /** * This function will set current tick */ void rt_tick_set(rt_tick_t tick) { rt_base_t level; level = rt_hw_interrupt_disable(); rt_tick = tick; rt_hw_interrupt_enable(level); } ``` 这里只是简单的设置了tick,是不是还得像rt_tick_increase处理一下和线程相关的资源。 ``` /** * This function will notify kernel there is one tick passed. Normally, * this function is invoked by clock ISR. */ void rt_tick_increase(void) { struct rt_thread *thread; /* increase the global tick */ ++ rt_tick; /* check time slice */ thread = rt_thread_self(); -- thread->remaining_tick; if (thread->remaining_tick == 0) { /* change to initialized tick */ thread->remaining_tick = thread->init_tick; /* yield */ rt_thread_yield(); } /* check timer */ rt_timer_check(); } ```
whm597
2017-11-12
这家伙很懒,什么也没写!
听说RTT3.0已经有低功耗框架了,但没有细节信息,有知道的同仁可以支持一下。
belen
2018-01-10
这家伙很懒,什么也没写!
急需低功耗。但官方总是这个态度,没有任何说明。
撰写答案
登录
注册新账号
关注者
0
被浏览
6.1k
关于作者
toli
这家伙很懒,什么也没写!
提问
7
回答
14
被采纳
0
关注TA
发私信
相关问题
1
STM32F103的低功耗
2
最近用rtthread系统下AD采样并低功耗,中断响应不及时
3
rt-thread低功耗休眠应用问题请教
4
RT-Thread怎么休眠实现低功耗。
5
RT-Thread V3.0支持的低功耗,OS会自行进入吗?
6
关于RTThread3.0低功耗休眠模式
7
RTT3.0的bsp包中哪些MCU自带低功耗定时器?
8
关于低功耗上次说针对L4出个BSP的,怎么迟迟不见呀
9
低功耗问题。
10
STM32L4低功耗
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
RT-Thread项目助手v0.2.0 - 支持Env Windows
2
RttreadV5.10上,GD32F450Z RTC时间显示问题
3
rt-smart启动流程分析
4
EtherKit快速上手PROFINET
5
RTThread USB转串口无法接收数据
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
PWM
cubemx
flash
freemodbus
BSP
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
SFUD
msh
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
出出啊
1517
个答案
342
次被采纳
小小李sunny
1444
个答案
290
次被采纳
张世争
813
个答案
177
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
149
次被采纳
本月文章贡献
出出啊
1
篇文章
2
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
3
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
2
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部