技术参考手册: 电源管理
电源管理回调
用户可以通过 xwos_pm_set_cb() 设置电源管理回调函数。 这个CAPI只影响当前运行代码的CPU,如果是多核系统,需要在每个CPU上都调用一次这个CAPI。
resume :从暂停模式恢复的回调函数
suspend :进入暂停模式的回调函数
wakeup :从休眠中唤醒的回调函数
sleep :CPU进入休眠的回调函数
系统休眠与唤醒
用户可以通过调用 xwos_pm_suspend() 使得操作系统进入休眠模式。 休眠后可以在唤醒中断中调用 xwos_pm_resume() 唤醒操作系统。
休眠与唤醒是一个比较复杂的过程,可以通过 xwos_pm_get_stage() 获取电源管理 目前所处的 电源管理阶段 。
C++
C++头文件: xwos/osal/pm.hxx
◆ xwos_pm_cb_f
电源管理回调函数指针类型
在文件 pm.h 第 53 行定义.
◆ xwos_pm_set_cb()
XWOS API:设置电源管理的回调函数
end of xwos_pm_stage
- 参数
-
| [in] | resume | 从暂停模式恢复的回调函数 |
| [in] | suspend | 进入暂停模式的回调函数 |
| [in] | wakeup | 唤醒时回调函数 |
| [in] | sleep | 休眠时的回调函数 |
| [in] | arg | 电源管理系统调用回调函数时传递的参数 |
- 注解
-
在文件 pm.h 第 83 行定义.
88{
89 return xwosdl_pm_set_cb(resume, suspend, wakeup, sleep, arg);
90}
◆ xwos_pm_suspend()
| static void xwos_pm_suspend |
( |
void |
| ) |
|
|
inlinestatic |
XWOS API:将系统切换为低功耗状态
- 注解
-
调用此方法后,所有线程都将开始冻结。冻结完成后,系统开始进入低功耗状态。
在文件 pm.h 第 100 行定义.
101{
102 xwosdl_pm_suspend();
103}
◆ xwos_pm_resume()
| static void xwos_pm_resume |
( |
void |
| ) |
|
|
inlinestatic |
XWOS API:唤醒系统
- 注解
-
只可在唤醒中断中调用。
在文件 pm.h 第 113 行定义.
114{
115 xwosdl_pm_resume();
116}
◆ xwos_pm_get_stage()
| static xwsq_t xwos_pm_get_stage |
( |
void |
| ) |
|
|
inlinestatic |
XWOS API:获取当前电源管理阶段
- 返回
- 电源管理阶段 电源管理阶段
- 注解
-
电源管理是复杂的异步操作,当系统正在进入低功耗、 或从低功耗唤醒时可通过此函数获取进展的阶段。 返回值取值 电源管理阶段
在文件 pm.h 第 129 行定义.
130{
131 return xwosdl_pm_get_stage();
132}