现在的位置: 首页 > 综合 > 正文

A10开发板增加红外驱动及android层红外按键修改介绍

2013年08月16日 ⁄ 综合 ⁄ 共 1833字 ⁄ 字号 评论关闭

声明:本文基于A10方案,A10主板默认板载红外设备转载于(http://www.a10bbs.com/forum.php?mod=viewthread&tid=499#lastpost
一、在linux内核中开启红外驱动编译
(1).内核配置。
   默认情况下,linux内核并未开启编译红外驱动,因此需手动修改配置以开启红外驱动。首先需进入linux内核目录运行make ARCH=arm menuconfig,并进入 Device Drivers-->Input device support -->Keyboards  -->sun4i IR support (M) 开启内核编译配置界面,显示如下

QQ截图20120925143022.png
   若以*勾选则编译到内核中,系统启动时将自动载入该驱动。若以M方式勾选则将编译成 内核模块*.ko文件。这里以M方式动态编译为例.

  (2).编译
   在lichee目录下执行./build.sh -p sun4i_crane -k 3.0 (这里是针对A10 linux3.0内核编译方式,linux2.3.4 需要去掉 -k 3.0)即可开始编译。编译结束后,将生成lichee/out/android/lib/modules/3.0.8/sun4i-ir.ko红外驱动模块

  (3).拷贝模块
  android2.3.4下需要修改 android2.3.4/device/softwinner/crane-evb/mkfs.sh  增加cp $DRV_DIR/sun4i-ir.ko $PRODUCT_ROOT/drv/sun4i-ir.ko即可在编译时自动打包到系统固件中
  android4.0以后的版本只需在android目录下执行extract-bsp即可将内核模块全部拷贝至对应文件目录下

  (4).修改android系统以支持开机启动红外驱动

   对于android2.3版本,需要在android2.3.4/device/softwinner/crane-evb/init.sun4i.rc 中增加insmod /drv/sun4i-ir.ko
   对于android4.0版本,需要在android4.0/device/softwinner/crane-evb/init.sun4i.rc 中增加insmod /system/vendor/modules/sun4i-ir.ko
经过以上的修改,android系统就支持驱动红外设备了

二、在android系统中修改红外配置文件以支持任意红外遥控器
  (1)遥控器按键值查询
  首先需了解使用adb命令,将开发板通过usb线连接pc后,在命令行下输入adb shell接口进入android系统命令行。
输入getevent即可显示输入设备信息,如:
QQ截图20120925153546.png
其中 "sun4i-ir"为红外设备
此时将红外遥控器对准板载 红外接口头 按键即会显示对应键值,如:
QQ截图20120925153845.png
/dev/input/event3: 0001 00af 00000001  表示按下  af为键值(16进制)
/dev/input/event3: 0000 0000 00000000
/dev/input/event3: 0001 00af 00000000  表示弹起
/dev/input/event3: 0000 0000 00000000

(2)键值修改
  根据该信息修改android系统中如下两个文件即可(注意以下两个文件必须都修改,否则不会生效)
/system/usr/idc/sun4i-ir.kl
/system/usr/keylayout/sun4i-ir.kl

sun4i-ir.kl(可以以文本文档方式打开)实例内容如下
假设我们 “+”号键 的键值为d,转换为10进制为13,假设我们要将该键设置为音量+,可以在sun4i-ir.kl文件加入如下内容
key 13     VOLUME_UP                 WAKE_DROPPED

(3)将文件推送至android系统
推送时需了解 adb push 使用方法
假设需将c:\sun4i-ir.kl覆盖至android系统/system/usr/keylayout/sun4i-ir.kl
下 命令如下:
adb push c:\sun4i-ir.kl /system/usr/keylayout/sun4i-ir.kl
注意/system/usr/idc/sun4i-ir.kl也需覆盖

(提示:用户可以参考附件中Generic.kl sun4i-ir.kl文件修改其他键值)

  

红外配置文件.zip

抱歉!评论已关闭.