最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

系统休眠时串口还在读写导致的黑屏问题(息屏后按power键无法唤醒显示屏)

业界 admin 18浏览 0评论

问题描述:设备在进行rtk定位时,模块会通过串口同时进行读写操作。串口在读写时,如果息屏系统就会进入休眠,休眠的话CPU进入kill cpu状态。但是此时串口还在读写,这就导致出现一个意料外的问题,息屏只十几秒再按电源键的话显示屏将无法唤醒或者即便显示屏唤醒了,串口却出现无法读写的情况,只能重启设备串口才恢复正常。

分析:APP还在运行但是息屏后系统进入休眠流程。串口工作不正常了是系统休眠后导致串口驱动程序出现了问题。
暂不清楚按下power键为什么显示屏无法亮的原理

备注:应该是某个地方发生死锁了,不过当时并没有意识到这一点

解决方法:编写一个驱动,在platform_driver结构体里的suspend函数中(该函数在系统息屏后会被调用)判断GPS模块是否上电(已创建上电节点),如果上电了就加一把锁,让系统不休眠。
也可以在framework层修改相关代码,不过我没尝试过。如果有遇到类似问题的朋友可以去试试

禁止系统休眠改法可参考 https://blog.csdn/weixin_45023644/article/details/115406113

问题描述:设备在进行rtk定位时,模块会通过串口同时进行读写操作。串口在读写时,如果息屏系统就会进入休眠,休眠的话CPU进入kill cpu状态。但是此时串口还在读写,这就导致出现一个意料外的问题,息屏只十几秒再按电源键的话显示屏将无法唤醒或者即便显示屏唤醒了,串口却出现无法读写的情况,只能重启设备串口才恢复正常。

分析:APP还在运行但是息屏后系统进入休眠流程。串口工作不正常了是系统休眠后导致串口驱动程序出现了问题。
暂不清楚按下power键为什么显示屏无法亮的原理

备注:应该是某个地方发生死锁了,不过当时并没有意识到这一点

解决方法:编写一个驱动,在platform_driver结构体里的suspend函数中(该函数在系统息屏后会被调用)判断GPS模块是否上电(已创建上电节点),如果上电了就加一把锁,让系统不休眠。
也可以在framework层修改相关代码,不过我没尝试过。如果有遇到类似问题的朋友可以去试试

禁止系统休眠改法可参考 https://blog.csdn/weixin_45023644/article/details/115406113

发布评论

评论列表 (0)

  1. 暂无评论