如何判断进入了关机充电流程

文档说明

本文档以SC806-CN-00-71(msm8909平台,Android 7.1)为例,说明如何分析开机log判断是否进入了关机充电流程。

 

问题现象

客户机器反复重启。log中读出的Subtype: 0,怀疑是DTS不匹配。

在LK把Boarid-id值固定在6,烧录开机,仍然反复重启。

 

分析log

下面附件是反复重启的log:

https://uploader.shimo.im/f/S3WqNiwJBqgk5f6c.log?attname=%E4%B8%B2%E5%8F%A3_2019-12-25_11-31-35.log&download

如何判断进入了关机充电流程_第1张图片

 

看上图log,重启之前有个"Powering off the Soc"的动作,看上去像是软件主动关机了。

 

再往上翻点,有一句打印 "--------------- STARTING CHARGER MODE ---------------"

如何判断进入了关机充电流程_第2张图片

 

这句打印对应如下代码路径: system/core/healthd/healthd_mode_charger.cpp

如何判断进入了关机充电流程_第3张图片

 

healthd就是管理关机充电的部分。 进入关机充电,又没有检测到DC充电,则调用关机接口。

如何判断进入了关机充电流程_第4张图片

 

上电开机,进入正常开机还是关机充电,是由 androidboot.mode 的值决定的。

bootable/bootloader/lk/app/aboot/aboot.c 里面:

如何判断进入了关机充电流程_第5张图片

 

SC806-CN-00-71代码根据board-id值,判断是否进入关机充电,修改aboot.c,设置不进入关机充电即可。

 

patch文件

https://uploader.shimo.im/f/10p28wDFq5odvMvZ.patch?attname=aboot.c.patch&download

https://uploader.shimo.im/f/OGMk1t0OlcUW6IQJ.patch?attname=board.c.patch&download

 

石墨文档链接

https://shimo.im/docs/qvcjkQKJ3dVxjdqY/ 

你可能感兴趣的:(Android驱动)