概述
这几天深入学习了Android sensor框架,以此博客记录和分享分析过程,其中难免会有错误的地方,欢迎指出!
这里主要分析KERNEL->HAL->JNI这3层的流程。主要从以下几方面开始着手:
(A) 驱动层向上提供了那些文件节点给系统层读写?
(B) 系统层通过什么方式访问驱动层?
(C) 如何统一各种sensors的接口,生成.so库?
(D) 如何加载访问.so库
(E) 实现sensor service (未写,待续)
(F) JNI接口 (未写,待续)
(A) 驱动层向上提供了那些文件节点给系统层读写?
关于linux基本驱动框架,不在本文范围,这里不再分析。学习过Linux驱动的都知道应用层要访问内核驱动,都是通过open、
read、write等系统函数操作驱动注册的文件节点进行的。这里以n2dm g-sensor的驱动为例,找出这些文件节点。文件路径:
./kernel/drivers/input/misc/n2dm.c
static int n2dm_acc_probe(struct i2c_client *client,const struct i2c_device_id *id)
{
......
acc->input_dev->name = "accelerometer";
err = input_register_device(acc->input_dev); /* 生成 /dev/input/event2 */
......
err &
最后
以上就是瘦瘦时光为你收集整理的android sensor 定义,Android sensor 系统框架 (一)的全部内容,希望文章能够帮你解决android sensor 定义,Android sensor 系统框架 (一)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复