讯为4412按键不能关机的问题解决

原创 2017年01月03日 18:02:36

一、前言

讯为4412开发板除了有屏幕上的软按键之外,还有主板上面的”硬”按键:sleep, back, home。猜测安卓系统是通过读取按键事件来识别当前摁下哪个按键的,那么按键由哪个IO作为输入并不重要。
最近拿到讯为的开发板,发现摁下sleep键竟然没啥反应,用的是4.4的安卓系统和内核,烧录4.0的安卓系统和内核则正常。下面探讨为何会出现这样的问题。

二、问题分析

1.sleep键的IO定义

这里写图片描述
这里写图片描述

2.源码分析

这里写图片描述

3.问题分析

内核的IO定义和实际原理图的不符,导致摁下该按键没有反应。

4.问题解决

把按键IO的定义修改为实际原理图的IO:
这里写图片描述

5.测试后问题并没有根治

很奇怪,改完IO后问题依然存在,让我困惑的是:点击sleep键,安卓界面会往左滑动。
再次分析原理图,原理图上标明是那个sleep键所在组为“KEYPAD”:
这里写图片描述

6.问题再次解决

难道是keypad的驱动和普通按键的驱动产生了冲突?
随后我在编译内核的时候,把kedpad的驱动排除不编译,重新编译内核并烧录到开发板后,问题完美解决了。轻摁sleep键能够休眠,长按sleep键能够显示关机选项。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

ZIGBEE 移植,按键HAL_KEY_SW_6 不能使用问题解决

ZIGBEE 官方移植代码后,会发现HAL_KEY_SW_6 并不能使用,这是因为另一个按键HAL_KEY_JOY的原因,具体请看如下代码 在hal_key,c 中有HalKeyPoll 专门用于轮...

关于手机虚拟按键遮挡布局问题解决讨论

最近拿到同事项目,没怎么看代码,想着先运行出来看看再说,结果在测试机上虚拟按键正好遮挡住首页的底部菜单TabHost(说明下:我的测试机是华为荣耀4A,一直就觉得华为挺另类,看来开发者有台华为测试机是...

讯为ITOP4412的按键驱动分析

一、前言安卓上用得比较多的按键有:home,back,power,volup,voldown,原理图如下: 程序里面只要检测到低电平就能知道按键按下了。但是程序是如何实现的呢?下面一步步去揭...

Ubuntu使用问题(一):Ubuntu不能正常关机的解决方法

本人正在使用的Ubuntu版本是12.04.5,电脑是2009年款的Asus F81s笔记本,已经很old了。刚开始装上系统时候,Ubuntu是能够正常关机的,出现此类问题的原因有很多种,可能是装了某...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)