Android O 高通 lk自定义按键恢复出厂设置功能

Android O 高通 lk自定义按键恢复出厂设置功能


项目需求,机器新增了一个自定义按键,用于开机恢复出厂设置。看了项目lk源码,源码里本来自带 “音量+ 电源键”的组合方式进入fastboot模式,可以参考源码添加我们的功能。

1. 添加按键

1.1添加对应的GPIO脚
根据实际原理图定义我们的RESET按键
Android O 高通 lk自定义按键恢复出厂设置功能

1.2添加按键状态接口
仿照音量+接口定义我们的RESET脚接口
Android O 高通 lk自定义按键恢复出厂设置功能

1.3添加自定义的reset脚的key值
Android O 高通 lk自定义按键恢复出厂设置功能

这个key值要怎么定义呢,有啥规则,来看一下keys_post_event接口的定义
Android O 高通 lk自定义按键恢复出厂设置功能
我们只要不超过MAX_KEY的定义就行了,MAX_KEY定义是
Android O 高通 lk自定义按键恢复出厂设置功能
那我们在同样的位置定义下我们Reset脚的key值
Android O 高通 lk自定义按键恢复出厂设置功能
至此,按键在lk已经添加完成了。

2. 添加触发事件

找到之前音量+按键触发fastboot模式的位置
bootable/bootloader/lk/app/aboot/aboot.c
Android O 高通 lk自定义按键恢复出厂设置功能
那我在上面位置添加我们的触发逻辑
Android O 高通 lk自定义按键恢复出厂设置功能
编译->烧写->测试
测试1,按住RESET键开机,log打印出TEST reboot into recovery….
测试2,不按键正常开机,没有我们加的log。
很好 按键添加成功,没遇到任何毛病。
接下来只要在触发事件添加恢复出厂的逻辑就好了,搜了一下lk源码,还真有恢复出厂的源码,CTRL C + CTRL V赋值到我们的接口里。
Android O 高通 lk自定义按键恢复出厂设置功能
编译->烧写->测试:
按住RESET键开机,系统进入到RECOVERY模式后开始恢复出厂设置。我们大功告成。