Android 10.0 展讯平台长按power电源键开机时间修改

时间:2024-02-16 10:19:35

1.前言

在10.0的系统产品开发中,在产品关机的情况下,长按power电源键的情况下,会开启机器然后进入开机流程中,否则就不会开机 ,但是为了防误撞,误开机要求延长长按power电源键开机时间,所以就需要从kernel中来分析下长按开机的相关源码来实现 相关的功能

2.展讯平台长按power电源键开机时间修改的核心类

  1. bsp\bootloader\u-boot15\common\cmd_cboot.c
  2. bsp/bootloader/u-boot15/include/configs/ums512_2h10.h

3.展讯平台长按power电源键开机时间修改的核心功能分析和实现

在整个系统开机流程中,首选会从u_boot开始启动,我们从U-boot在上电后被SPL从NAND中拷贝至SDRAM, 然后执行board_init_f 跳转到board_init_r开始。 接下来就会启动cmd_cboot.c中的相关关于开机流程的 核心代码流程,会在这里判断当前的系统启动模式,android的启动模式会在u-boot中进行判断和处理 然后进入不同的启动模式中,接下来具体分析下相关的流程

3.1 cmd_cboot.c关于启动模式的相关判断

在展讯平台长按power电源键开机时间修改的核心功能的实现中,在通过上述的开机流程的简单分析, 得知在cmd_cboot.c中的相关源码分析得知,这里会根据当前的启动模式,来进入相关的系统模式, 接下来分析下相关功能

  1. int boot_pwr_check(void)
  2. {
  3. static int total_cnt = 0;
  4. if (!power_button_pressed())
  5. total_cnt ++;