没有合适的资源?快使用搜索试试~ 我知道了~
Android中G-Sensor相关流程

温馨提示


试读
5页
Android中G-Sensor相关流程 Android中G-Sensor相关流程
资源推荐
资源详情
资源评论











Android 中 G-Sensor 相关流程
1.使 G-sensor 正常工作需要做的事:
G-sensor driver 文件包括:
driver/i2c/chips/lis331dl.c
driver/i2c/chips/sensorioctl.h
include/linux/lis331dl.h
并在/kernel/arch/arm/mach-s3c6410/mach-ur6410.c 文件中 i2c chanel1 的结构变量
i2c_devs1[] __initdata 中需要添加 G-sensor 的设备信息,
以使 driver 成功加载。
同时在该文件中添加一个结构变量
//JayLin add for Gsensor
struct lis331dl_platform_data lisGsensor_platform_data={
.name="lis331dl",
.pin_clk=0,
.pin_data=0,
.open_drain=1,
.interrupt=IRQ_EINT(3),
};
该结构变量在 i2c_devs1[] __initdata 中被引用。
/kernel/arch/arm/mach-s3c6410/mach-ur6410.c 中需要包含 lis331dl.h。
在 rootfs/system/etc/init.board.sh 的最后一行加上 mknod /dev/sensorioctl c 51 201&创建
节点供 ioctl 使用。
编译后的 sensor.so 放在/rootfs/system/lib/hw 下。
sensor.so 和 driver 之间通过 ioctl 实现对 G-sensor 的状态控制。ioctl 的命令编号定义在头
文件 sensorioctl.h 中,分别放在
kernel/include/linux 下
和
androidsourcecode/hardware/libhardware/include/hardware 下
供 driver 和 sensor.so 使用。
G-sensor driver 工作的大致流程:
系统开机后,先加载 i2c 总线驱动,然后加载设备驱动。
在设备驱动中的 init 函数中通过调用 i2c_add_driver(&lis331dl_i2c_driver)注册
i2c_driver;此函数将 driver 注册到 i2c_bus_type 的总线上,此总线的匹配规则是利用
i2c_client 的名称和
i2c_driver 中 id_table 中的名称作匹配。
资源评论

- a9877782014-07-03感謝分享,可長知識

zhenwenxian
- 粉丝: 796
- 资源: 773
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制
