Android驱动开发入门及手机案例开发分析教程.pdf

Android驱动开发入门及手机案例开发分析教程.pdf

ID:48015316

大小:1.65 MB

页数:16页

时间:2019-07-13

Android驱动开发入门及手机案例开发分析教程.pdf_第1页
Android驱动开发入门及手机案例开发分析教程.pdf_第2页
Android驱动开发入门及手机案例开发分析教程.pdf_第3页
Android驱动开发入门及手机案例开发分析教程.pdf_第4页
Android驱动开发入门及手机案例开发分析教程.pdf_第5页
资源描述:

《Android驱动开发入门及手机案例开发分析教程.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Android驱动开发入门及手机案例开发分析华清远见主要内容:1、Linux驱动开发入门2、Android系统对Linux驱动的优化与调整3、Android电源管理框架,策略和应用4、基于PXA310上Andorid手机案例典型驱动开发Linux驱动开发入门:1、Linux的字符设备驱动/块设备驱动/网络设备驱动1、动手实践是最好的学习方法:DIY一块嵌入式系统开发板(如SC2410开发板)??买一块嵌入式系统开发板??Android系统对Linux驱动的优化与调整:Android内核特点:Android比起Linux的7处增强的地方AlarmAshmem/pmem使得进程间能够共享大块

2、的内存(如图标)Ashmem为内核提供了一种回收这些使用完的共享内存块的办法Binder解决:标准Linux进程间通信会花费许多开销,并有安全漏洞的问题powermanagement提供更多的电源管理策略;使用唤醒锁来管理电源Android系统对Linux驱动的优化与调整:Android内核特点:Android比起Linux的7处增强的地方lowmemorykiller当内存不够的时候,该策略会试图结束一个进程kerneldebuggerLogger使得调试信息可以输入到一个内存块中Android电源管理框架,策略和应用:Android电源管理框架,策略和应用:基于PXA310上Ando

3、rid手机案例典型驱动开发1、电源管理驱动:Android电源驱动会在/sys目录下创建子目录android_power并生成相应的属性文件,通过attribute的show/store来访问和设置powerstate/request.基于PXA310上Andorid手机案例典型驱动开发2、androidHAL层对电源控制的操作:hardwarelibhardwarepowerpower.cconstchar*constOLD_PATHS[]={"/sys/android_power/acquire_partial_wake_lock","/sys/android_power/re

4、lease_wake_lock","/sys/android_power/request_state"};基于PXA310上Andorid手机案例典型驱动开发2、usb驱动:Google没有使用原来的那套gadget驱动架构(file_storage.c),而是参考file_storage.c实现了一个新的模型---composite模型:composite.c//实现android下usb管理的框架模型android.c//实现具体的usb功能管理f_mass_storage.c//实现优盘功能f_adb.c//实现adb功能1)该框架下,有三个设备:composite设备,优盘设备,

5、adb设备2)枚举时,首先枚举composite设备,再枚举优盘设备,最后枚举adb设备3)composite设备被枚举时a)在获取DEVICE描述符时,将VID,PID上报给hostb)host第一次请求CONFIG描述符时,composite设备告诉host,它有一个CONFIG,两个interface(即两个功能),以及告诉host自己使用的端点IN和端点OUT的地址c)host会根据interface的个数决定枚举的次数(这对应着优盘枚举和adb枚举)基于PXA310上Andorid手机案例典型驱动开发3、键盘驱动:1)keyboard驱动要通过input_register_de

6、vice()调用注册成标准的输入设备/dev/input/event0驱动上报的按键值要和Android系统里面的/system/usr/keylayout/*.kl文件里面的记录一致,否则会导致android系统不能正确识别按键消息基于PXA310上Andorid手机案例典型驱动开发3、键盘驱动:2)Linux输入系统的任何一次事件通知包含如下三个信息:事件类型+事件码+事件值(键值)=>这3个信息的作用如下,举例说明:对键盘输入设备来说:事件类型EV_KEY,表明是键盘送上来的数据事件码KEY_CAMERA表明是键盘上的camera键被操作了事件值表示该camera键是按下还是松开了

7、对触摸屏输入设备来说:事件类型EV_ABS,表明是触摸屏送上来的绝对座标值数据事件码ABS_X表明是触摸屏当前点的x座标事件值表示该当前点的x座标的具体绝对值基于PXA310上Andorid手机案例典型驱动开发3、键盘驱动:3)android启动时会检测输入设备:I/EventHub(690):Newdevice:path=/dev/input/event2name=ADS784xTouchscreenid=0x10000(of0x

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

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

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