电池没电手机会不断重启吗,手机不断重启问题
极力推荐Android 开发大所以文章:欢迎收藏
程序员Android 力荐 ,Android 开发者需要的必备技能
本篇文章主要介绍 Android 开发中的 异常重启部分知识点,通过阅读本篇文章,您将收获以下内容:
一、lk 阶段重启
二、在kernel关机充电阶段重启
三、关闭异常掉电机制
在低电量时,插着充电器关机充电,手机会不断重启。
一、lk 阶段重启
低电量关机充电不断重启问题在lk 阶段重启的log如下
Unplugged Usb/Charger in Kernel Charging Mode Before Jumping to Kernel, Power Off
重启原因
设备支持DEVICE_TREE_SUPPORT,在lk启动kernel的boot_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阶段重启有两个原因如下:
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”
下一篇:没有了
相关文章: