Android Mediatek bootloader oem锁定和解锁流程

简介: Android Mediatek bootloader oem锁定和解锁流程

这个修个是在mtk android11上的 , 就是个进入oem解锁流程  , 下面这部分代码就是开机检测按键 , 然后进入不同模式的。如果要修改其他的 也是大同小异。



主要对 Mediatek bootloader 的锁定和解锁流程进行了优化,改变了检测按键的方式。

修改的文件:

  1. vendor/mediatek/proprietary/bootable/bootloader/lk/app/mt_boot/sec_unlock.c

文件修改说明:

  1. sec_unlock.c: 在 fastboot 的 OEM 锁定和解锁函数中,修改了检测按键的方式。原来的方式是直接检测 GPIO80 的状态,现在改为使用 mtk_detect_key 函数检测 MT65XX_MENU_OK_KEY 是否被按下。



---
 .../proprietary/bootable/bootloader/lk/app/mt_boot/sec_unlock.c       | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
 
diff --git a/vendor/mediatek/proprietary/bootable/bootloader/lk/app/mt_boot/sec_unlock.c b/vendor/mediatek/proprietary/bootable/bootloader/lk/app/mt_boot/sec_unlock.c
index 3f486bf..e7ed97c 100755
--- a/vendor/mediatek/proprietary/bootable/bootloader/lk/app/mt_boot/sec_unlock.c
+++ b/vendor/mediatek/proprietary/bootable/bootloader/lk/app/mt_boot/sec_unlock.c
@@ -447,7 +447,7 @@ void fastboot_oem_unlock(const char *arg, void *data, unsigned sz)
        fastboot_okay("");
      }
      break;
-   } else if (mt_get_gpio_in((GPIO80 | 0x80000000)) == 0/*mtk_detect_key(MT65XX_MENU_OK_KEY)*/) { //VOL_DOWN
+   } else if (mtk_detect_key(MT65XX_MENU_OK_KEY)) { //VOL_DOWN
      video_printf("return to fastboot in 3s\n");
      mdelay(3000);
      fastboot_boot_menu();
@@ -509,7 +509,7 @@ void fastboot_oem_lock(const char *arg, void *data, unsigned sz)
        fastboot_okay("");
      }
      break;
-   } else if (mt_get_gpio_in((GPIO80 | 0x80000000)) == 0/*mtk_detect_key(MT65XX_MENU_OK_KEY)*/) { //VOL_DOWN
+   } else if (mtk_detect_key(MT65XX_MENU_OK_KEY)) { //VOL_DOWN
      video_printf("return to fastboot in 3s\n");
      mdelay(3000);
      fastboot_boot_menu();
-- 
1.9.1



相关文章
|
4天前
|
ARouter IDE 开发工具
Android面试题之App的启动流程和启动速度优化
App启动流程概括: 当用户点击App图标,Launcher通过Binder IPC请求system_server启动Activity。system_server指示Zygote fork新进程,接着App进程向system_server申请启动Activity。经过Binder通信,Activity创建并回调生命周期方法。启动状态分为冷启动、温启动和热启动,其中冷启动耗时最长。优化技巧包括异步初始化、避免主线程I/O、类加载优化和简化布局。
23 3
Android面试题之App的启动流程和启动速度优化
|
8天前
|
Android开发
Android面试题之activity启动流程
该文探讨了Android应用启动和Activity管理服务(AMS)的工作原理。从Launcher启动应用开始,涉及Binder机制、AMS回调、进程创建、Application和Activity的生命周期。文中详细阐述了AMS处理流程,包括创建ClassLoader、加载APK、启动Activity的步骤,以及权限校验和启动模式判断。此外,还补充了activity启动流程中AMS的部分细节。欲了解更多内容,可关注公众号“AntDream”。
10 1
|
10天前
|
Java Linux Android开发
Android面试题之说说系统的启动流程(总结)
这篇文章概述了Android系统的启动流程,从Boot Rom到Zygote进程和SystemServer的启动。init进程作为用户级别的第一个进程,负责创建文件目录、初始化服务并启动Zygote。Zygote通过预加载资源和创建Socket服务,使用fork函数生成SystemServer进程。fork过程中,子进程继承父进程大部分信息但具有独立的进程ID。Zygote预加载资源以减少后续进程的启动时间,而SystemServer启动众多服务并最终开启Launcher应用。文中还讨论了为何从Zygote而非init或SystemServer fork新进程的原因。
19 2
|
4天前
|
存储 XML 数据库
深入地了解Android应用开发的流程和技术
深入地了解Android应用开发的流程和技术
7 0
|
8天前
|
vr&ar 数据库 Android开发
Android面试题之ActivityManagerService的启动流程
本文探讨了Android系统的SystemServer启动过程,包括创建SystemContext、引导服务、启动各类核心服务以及AMS的启动和初始化。AMS负责管理activity、广播队列、provider等,并设置SystemProcess,安装系统Provider。当AMS调用SystemReady时,系统UI准备启动,启动Launcher。文中还对比了init、zygote和system_server进程的角色。最后推荐了两本关于Android内核剖析的书籍:柯元旦教授的《Android内核剖析》和罗升阳的《Android系统源代码情景分析》。关注公众号AntDream获取更多内容。
11 0
|
1月前
|
设计模式 算法 Android开发
2024年Android网络编程总结篇,androidview绘制流程面试
2024年Android网络编程总结篇,androidview绘制流程面试
2024年Android网络编程总结篇,androidview绘制流程面试
|
1月前
|
Linux Android开发
Android开机不显示bootloader界面
Android开机不显示bootloader界面
21 0
Android开机不显示bootloader界面
|
1月前
|
Java Android开发
Android 切换壁纸代码流程追踪
Android 切换壁纸代码流程追踪
21 0
|
1月前
|
编解码 调度 Android开发
Android音频框架之一 详解audioPolicy流程及HAL驱动加载与配置
Android音频框架之一 详解audioPolicy流程及HAL驱动加载与配置
58 0
|
1月前
|
Java Android开发
Android startActivity流程
Android startActivity流程
13 0