技术参考手册: 电源管理
电源管理操作函数
用户可以通过 xwos_pm_set_op() 设置电源管理操作函数。
- 如果是多核系统,需要通过参数
cpuid 为每个CPU的都设置操作函数。 此CAPI通常在系统初始化阶段调用,CPU0可以为所有CPU设置操作函数。
- 如果是单核系统,参数
cpuid 无意义,可取任意值,但建议设置为 0 。
系统休眠与唤醒
用户可以通过调用 xwos_pm_suspend() 使得操作系统进入休眠模式。 休眠后可以在唤醒中断中调用 xwos_pm_resume() 唤醒操作系统。
休眠与唤醒是一个比较复杂的过程,可以通过 xwos_pm_get_stage() 获取电源管理 目前所处的 电源管理阶段 。
◆ xwos_pm_op_f
电源管理操作函数指针类型
在文件 pm.h 第 46 行定义.
◆ xwos_pm_set_op()
XWOS API:设置电源管理的操作函数
end of xwos_pm_stage
- 参数
-
| [in] | resume_periph | 恢复外设 |
| [in] | suspend_periph | 暂停外设 |
| [in] | wakeup_cpu | 唤醒CPU |
| [in] | sleep_cpu | 休眠CPU |
| [in] | arg | 调用各操作函数时传递的参数 |
- 注解
-
在文件 pm.h 第 76 行定义.
82{
83 return xwosdl_pm_set_op(cpuid,
84 resume_periph,
85 suspend_periph,
86 wakeup_cpu,
87 sleep_cpu,
88 arg);
89}
◆ xwos_pm_suspend()
| static void xwos_pm_suspend |
( |
void |
| ) |
|
|
inlinestatic |
XWOS API:将系统切换为低功耗状态
- 注解
-
调用此方法后,所有线程都将开始冻结。冻结完成后,系统开始进入低功耗状态。
在文件 pm.h 第 99 行定义.
100{
101 xwosdl_pm_suspend();
102}
◆ xwos_pm_resume()
| static void xwos_pm_resume |
( |
void |
| ) |
|
|
inlinestatic |
XWOS API:唤醒系统
- 注解
-
只可在唤醒中断中调用。
在文件 pm.h 第 112 行定义.
113{
114 xwosdl_pm_resume();
115}
◆ xwos_pm_get_stage()
| static xwsq_t xwos_pm_get_stage |
( |
void |
| ) |
|
|
inlinestatic |
XWOS API:获取当前电源管理阶段
- 返回
- 电源管理阶段 电源管理阶段
- 注解
-
电源管理是复杂的异步操作,当系统正在进入低功耗、 或从低功耗唤醒时可通过此函数获取进展的阶段。 返回值取值 电源管理阶段
在文件 pm.h 第 128 行定义.
129{
130 return xwosdl_pm_get_stage();
131}