Android技术知识Android开发Android开发经验谈

关机充电,手机不断重启问题分析

2018-08-21  本文已影响10人  程序员Android1

本篇文章主要介绍 Android 开发中的 异常重启 部分知识点,通过阅读本篇文章,您将收获以下内容:

一、lk 阶段重启
二、在kernel关机充电阶段重启
三、关闭异常掉电机制

在低电量时,插着充电器关机充电,手机会不断重启。

一、lk 阶段重启

低电量关机充电不断重启问题在lk 阶段重启的log如下

Unplugged Usb/Charger in Kernel Charging Mode Before Jumping to Kernel, Power Off

重启原因
设备支持DEVICE_TREE_SUPPORT,在lk启动kernelboot_linux_fdt

int boot_linux_fdt(void *kernel, unsigned *tags,
                   char *cmdline, unsigned machtype,
                   void *ramdisk, unsigned ramdisk_size)
{
   ...............
   #ifdef MTK_KERNEL_POWER_OFF_CHARGING
 /*Prevent the system jumps to Kernel if we unplugged Charger/USB before*/
 if(kernel_charging_boot() == -1)
 {
 dprintf(CRITICAL,"[%s] Unplugged Usb/Charger in Kernel Charging Mode Before Jumping to Kernel, Power Off\n", __func__);
 #ifndef NO_POWER_OFF
  mt6575_power_off();
  #endif
  ...............
 }
}

由于在lk阶段的电流过大,导致charger的电压被拉低到4.3v以下,因为 VCDT_LV_VTH默认的电压是4.3v,所以在detect charger回返回false,由于插充电器的原因在power off之后又起来导致了不断重启的现象,其中VCDT_LV_VTH的设置可以参考datasheet的设置。

解决方案

二、在kernel关机充电阶段重启

在kernel阶段重启有两个原因如下:

  1. 在关机充电时,charger detect存在的情况下,但是如果被识别为usb host mode,这时就会放回false,引起了power off
    这时应该去检测usbid pin硬件上是不是被拉低了
kal_bool upmu_is_chr_det(void)
{
     ...........
    if (mt_usb_is_device()) {
        battery_log(BAT_LOG_FULL,
            "[upmu_is_chr_det] Charger exist and USB is not host\n");
        return KAL_TRUE;
    } else {
        battery_log(BAT_LOG_CRTI,
          "[upmu_is_chr_det] Charger exist but USB is host\n");
     ...........
}
  1. charger电压超过了/kernel-3.10/drivers/power/mediatek/battery_common.c#charger_hv_detect_thread里面设置的电压,默认为6.5v这时,就会产生cable out,接着就会power off

三、关闭异常掉电机制

修改一下异常掉电机制代码vendor/mediatek/proprietary/bootable/bootloader/preloader/custom/k37mv1_bsp/inc/cust_rtc.h

关闭异常掉电机制

至此,本篇已结束,如有不对的地方,欢迎您的建议与指正。期待您的关注,
感谢您的阅读,谢谢!

如有侵权,请联系小编,小编对此深感抱歉,同时小编会立即停止侵权行为。

​欢迎关注微信公众号:程序员Android
公众号ID:ProgramAndroid
获取更多信息

微信公众号:ProgramAndroid

我们不是牛逼的程序员,我们只是程序开发中的垫脚石。
我们不发送红包,我们只是红包的搬运工。

点击阅读原文,获取更多福利


上一篇 下一篇

猜你喜欢

热点阅读