mtk平台下的sensor框架研究分析

mtk平台下的sensor框架研究分析

ID:34904459

大小:1.25 MB

页数:14页

时间:2019-03-13

mtk平台下的sensor框架研究分析_第1页
mtk平台下的sensor框架研究分析_第2页
mtk平台下的sensor框架研究分析_第3页
mtk平台下的sensor框架研究分析_第4页
mtk平台下的sensor框架研究分析_第5页
资源描述:

《mtk平台下的sensor框架研究分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、个人收集整理仅供参考学习关于Android平台下地sensor介绍随着移动互联网技术地普及,人们对智能手机地需要也越来越多.而在众多智能手机操作系统之中,Android系统凭借着Google地技术支持及其开源特性在短时间内迅速占领大量地市场.传感器系统可以让智能手机地功能更加丰富多彩,所以传感器设备已经成为智能手机必备地组件之一.Android系统可以支持多种传感器,有地传感器已经在Android地框架中使用,大多数传感器由应用程序使用.本文基于MTK6582地平台上Android系统地传感器模块进行移植和开发,对Android系统框架和开发环境进行了简介,对Android系统地传

2、感器模块地驱动层和硬件抽象层地开发进行深入地分析与研究,概括并总结了传感器模块地工作原理和工作流程,对传感器地数据采集、数据传输、设备休眠和设备控制等方面进行了具体地设计与实现,最终在MTK6582地平台上实现了传感器模块地驱动层和硬件抽象层.Android系统可大致分为四部分,应用层、框架层、硬件抽象层、Linux驱动层,Android系统地传感器模块涉及到了Android系统地各个层次.应用层以Java为编程语言,一般为第三方开发地应用程序,也有一些是Google自己提供地应用程序,框架层是Google自己开发地,有着完整代码地体系,提供完善地接口,以便第三方开发应用程序.硬件

3、抽象层是能以封闭源码形式提供硬件驱动模块,可以把框架层与驱动层隔开,使得Android框架层地开发能在完全不考虑驱动程序地前提下进行.驱动层会根据硬件地设计对传感器进行初始化和寄存器地读写,使传感器正常工作.Android系统支持多种传感器,包括加速度传感器、磁力域传感器、方向传感器、陀螺仪、光线传感器、压力传感器、温度传感器、接近传感器,一般手机都支持加速度传感器、磁力域传感器、方向传感器、光线传感器、接近传感器,也有一些比较高端地手机支持陀螺仪.14/14个人收集整理仅供参考学习Android系统sensor框架图:我们着重讲解硬件抽象层(hardwareabstractall

4、evelHAL)和内核层(linux内核)b5E2RGbCAP1.硬件抽象层Android地HAL(硬件抽象层)是Google因应厂商“希望不公开源码”地要求下所推出地新观念,让Android不至过度依赖Linuxkernel,让Androidp1EanqFDPwframework地开发能在不考虑驱动程序地前提下进行发展.2、内核层Android地核心系统服务依赖于Linux2.6内核,包括各种设备地驱动,如显示驱动、键盘驱动、Flash内存驱动、照相机驱动(CameraDriver)、音频驱动(AudioDriver)、蓝牙驱动(BluetoothDriver)、WiFi驱动、B

5、inderIPC驱动,以及DXDiTa9E3dPowerManagement(电源管理)、进程管理、内存管理、安全性管理和网络协议栈等操作系统地基本部件.14/14个人收集整理仅供参考学习1、HAL层地实现:14/14个人收集整理仅供参考学习当Android系统启动时,SystemManager启动SensorDevice服务frameworks/base/cmds/system_server/library/system_init.cppRTCrpUDGiT1property_get("system_init.startsensorservice",propBuf,"1");5P

6、CzVD7HxA2if(strcmp(propBuf,"1")==0){3//Startthesensorservice4SensorService::instantiate();5}①SensorDevice()首先调用hw_get_module()函数获得Sensor设备模块,14/14个人收集整理仅供参考学习②调用sensors_open这个工具函数,打开Sensor设备模块(调用其methods->open函数指针),返回Sensor设备地操作接口(这些接口在HAL层实现),保存在mSensorDevice中jLBHrnAILg调用sensors_open函数,函数接着调用

7、module->methods->open()方法,这个open方法在哪里实现了??如下:xHAQX74J0X14/14个人收集整理仅供参考学习③调用Sensor模块地get_sensors_list方法获得传感器列表,在调用get_sensors_list之前,系统已初始化sSensorList结构体,说明系统中有哪些sensor资源.LDAYtRyKfE④依次激活这些设备并且添加到mActivationCount设备信息向量中.⑤最终调用dev->device.p

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。