Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
PM电源管理
关于RTT对低功耗的支持
发布于 2017-07-02 01:12:30 浏览:6015
订阅该版
情况是这样的,由于历史原因,公司的不同产品分别在使用不同的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
被浏览
6k
关于作者
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
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
2
RT-Thread 发布 EtherKit开源以太网硬件!
3
rt-thread使用cherryusb实现虚拟串口
4
《C++20 图形界面程序:速度与渲染效率的双重优化秘籍》
5
《原子操作:程序世界里的“最小魔法单位”解析》
热门标签
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
WIZnet_W5500
ota在线升级
UART
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
at_device
ulog
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
张世争
8
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
KunYi
6
个答案
1
次被采纳
本月文章贡献
程序员阿伟
6
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
2
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部