STR配置说明
1.STR介绍¶
STR全称是Suspend to RAM,指设备进入低功耗状态,仅保留RAM自刷新。所有的设备和系统状态都保存在RAM中,所有外设都被挂起。
2. APP启用STR¶
APP挂起:
执行 system("echo mem > /sys/power/state");
挂起APP。
执行该指令前需要先退出所有MI模块,并将模块关联的gpio等拉低,如反初始化disp,Panel,卸载wifi ko,关闭屏背光等。
MI模块有新增API,在模块退出时需要释放模块资源时call对应的DeInitDev接口。如退出DISP模块时,呼叫 MI_DISP_DeInitDev()。
MI_S32 SSTAR_DestroyVdec2DispPipe(MI_S32 s32VdecChn, MI_S32 s32DivpChn) { SSTAR_ModuleUnBind(E_MI_MODULE_ID_VDEC, 0, s32VdecChn, 0, E_MI_MODULE_ID_DISP, 0, 0, 0); //DIVP->DISP SSTAR_DestroyVdecChannel(s32VdecChn); MI_DISP_DisableInputPort(0, 0); MI_VDEC_DeInitDev(); MI_DISP_DeInitDev(); return MI_SUCCESS; }
3.APP恢复¶
通过外部中断唤醒,唤醒后APP需要重新打开屏背光,加载wifi,重新初始化Panel,disp。
外部中断设置:
公板在infinity2m.dtsi
中有设置GPIO来唤醒,可以将该GPIO设置成用户指定的其它GPIO,或是设置成触屏对应的中断脚。
APP demo可参考github.com/aaron201912/UuidSSDPlayer UuidSSDPlayer/stdc++/zk_full_str
。