Android Mediatek bootloader oem锁定和解锁流程

本文涉及的产品
文本翻译,文本翻译 100万字符
图片翻译,图片翻译 100张
文档翻译,文档翻译 1千页
简介: 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



相关文章
|
2月前
|
Android开发
Android面试之Activity启动流程简述
Android面试之Activity启动流程简述
94 6
|
2月前
|
XML 前端开发 Android开发
Android面试高频知识点(3) 详解Android View的绘制流程
Android面试高频知识点(3) 详解Android View的绘制流程
Android面试高频知识点(3) 详解Android View的绘制流程
|
2月前
|
消息中间件 Android开发 索引
Android面试高频知识点(4) 详解Activity的启动流程
Android面试高频知识点(4) 详解Activity的启动流程
33 3
|
2月前
|
XML 前端开发 Android开发
Android面试高频知识点(3) 详解Android View的绘制流程
Android面试高频知识点(3) 详解Android View的绘制流程
29 2
|
2月前
|
XML 前端开发 Android开发
Android View的绘制流程和原理详细解说
Android View的绘制流程和原理详细解说
53 3
|
2月前
|
Android开发
Android面试之Activity启动流程简述
Android面试之Activity启动流程简述
21 0
|
3月前
|
消息中间件 Android开发 索引
Android面试高频知识点(4) 详解Activity的启动流程
讲解Activity的启动流程了,Activity的启动流程相对复杂一下,涉及到了Activity中的生命周期方法,涉及到了Android体系的CS模式,涉及到了Android中进程通讯Binder机制等等, 首先介绍一下Activity,这里引用一下Android guide中对Activity的介绍:
59 4
|
3月前
|
Android开发 开发者
Android面试之Activity启动流程简述
每个Android开发者都熟悉的Activity,但你是否了解它的启动流程呢?本文将带你深入了解。启动流程涉及四个关键角色:Launcher进程、SystemServer的AMS、应用程序的ActivityThread及Zygote进程。核心在于AMS与ActivityThread间的通信。文章详细解析了从Launcher启动Activity的过程,包括通过AIDL获取AMS、Zygote进程启动以及ActivityThread与AMS的通信机制。接着介绍了如何创建Application及Activity的具体步骤。整体流程清晰明了,帮助你更深入理解Activity的工作原理。
61 0
|
4月前
|
Android开发
我的Android进阶修炼:安卓启动流程之init(1)
本文深入分析了Android系统中的init进程,包括其源码结构、主要功能以及启动流程的详细注解,旨在帮助读者理解init作为用户空间的1号进程在Android启动过程中的关键作用。
100 1
|
3月前
|
图形学 iOS开发 Android开发
从Unity开发到移动平台制胜攻略:全面解析iOS与Android应用发布流程,助你轻松掌握跨平台发布技巧,打造爆款手游不是梦——性能优化、广告集成与内购设置全包含
【8月更文挑战第31天】本书详细介绍了如何在Unity中设置项目以适应移动设备,涵盖性能优化、集成广告及内购功能等关键步骤。通过具体示例和代码片段,指导读者完成iOS和Android应用的打包与发布,确保应用顺利上线并获得成功。无论是性能调整还是平台特定的操作,本书均提供了全面的解决方案。
162 0