背景:Android系统和单片机系统通过usb HID方式连接通讯
目的:让内核识别该设备,并且让Android 应用可以打开该设备,使其和HID设备通讯
操作步骤:
1> 配置Android内核(linux3.1.10)的配置文件:
make menuconfig
“HID device --->
Special hid device --->
<*>muti touch device ”
完成后,check .config文件中的CONFIG_HID_MUTITOUCH=y
注: SourcInsight.exe(SI)工具好像不能正常读取.config 文件,但是UtraEdit.exe(UE)是可以的。
2> 修改内核驱动:
"3.1.10/drivers/hid/"
hid-ids.h
+ #define USB_VENDOR_ID_XXX 0x0188
+ #define USB_DEVICE_ID_XXX 0x0189
hid_mutitouch.c
......
static const struct hid_device_id mt_devices[ ] =
{
...
+ { .driver_data = MT_CLS_DEFAULT,
+ HID_USB_DEVICE ( USB_VENDOR_ID_XXX,USB_DEVICE_ID_XXX )
+ },
...
}
hid_core.c:
.......
static const struct hid_device_id hid_have_special_driver =
{
...
+ {
+ HID_USB_DEVICE (USB_VENDOR_ID_XXX,USB_DEVICE_ID_XXX )
+ },
...
}
.......
3>修改Android系统文件:
“jb422/frameworks/base/data/keyboards”
common.mk
keyconfigs := \
...
+ Vendor_0188_Product_0189.idc
同时在该目录下添加文件:
Vendor_0188_Product_0189.idc
idc文件书写参考:
http://blog.youkuaiyun.com/myarrow/article/details/7710617
hid协议参考:
http://blog.youkuaiyun.com/dm_man/article/details/5285664
本文介绍如何在Android系统中配置并支持特定的USB HID设备。包括内核配置、驱动修改及系统文件调整等步骤。
2265

被折叠的 条评论
为什么被折叠?



