欢迎来到天天文库
浏览记录
ID:52934861
大小:442.86 KB
页数:19页
时间:2020-04-02
《Android开发关键技术.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、AAnnddrrooidid开发关键技术开发关键技术华清远见上海宋宝华今天的内容}Android体系结构}Android内核}Android设备驱动}AndroidHAL结构}Android应用框架www.hqyj.comAndroid体系结构www.hqyj.comAndroid内核}Android对内核补丁ØbinderIPC系统Øashemem内存共享机制ØAndroidLowMemoryKillerØAndroidRAMconsole和log设备ØAndroidalarm、timed_gpio等ØAndroid电源管理www.hqy
2、j.comAndroid内核}Android对内核补丁ØbinderIPC系统Øashemem内存共享机制ØAndroidLowMemoryKillerØAndroidRAMconsole和log设备ØAndroidalarm、timed_gpio等ØAndroid电源管理www.hqyj.comAndroid设备驱动}绝大部分为标准Linux驱动}少数含自己的特点Ø对内核的补丁以驱动形式呈现Ø对USB、framebuffer、input的特殊要求www.hqyj.comAndroidUSB驱动www.hqyj.comAndroidinpu
3、t驱动(1)www.hqyj.comAndroidinput驱动(2)www.hqyj.comAndroidframebuffer驱动}要求支持doublebufferØvar->yres_virtual=2*var->yres}支持doublebuffer之间的切换Ø添加pan函数www.hqyj.comAndroidHAL结构(1)www.hqyj.comAndroidHAL结构(2)}HAL的目的是为了把Androidframework与Linuxkernel完整「隔开」www.hqyj.comAndroidHAL源代码位置}在And
4、roid源代码里,HAL主要的实作储存于以下目录:Ø1.libhardware_legacy/-旧的实例、采取链接库模块的形式进行;直接函数调用Ø2.libhardware/-新版的实例、调整为HALstub的形式;间接函数调用Ø3.ril/-RadioInterfaceLayerwww.hqyj.comAndroidHAL模块代码结构与用法}HAL模块代码结构:Østructhw_module_t;Østructhw_module_methods_t;Østructhw_device_t;}HAL模块的用法:ØNativecode通过hw
5、_get_module调用获取HALstub:hw_get_module(LED_HARDWARE_MODULE_ID,(consthw_module_t**)&module)Ø通过继承hw_module_methods_t的callback来open设备:module->methods->open(module,LED_HARDWARE_MODULE_ID,(structhw_device_t**)device);Ø通过继承hw_device_t的callback来控制设备:sLedDevice->set_on(sLedDevice,le
6、d);sLedDevice->set_off(sLedDevice,led);www.hqyj.comAndroid应用编程}应用程序使用与具体硬件无关的方式访问HALwww.hqyj.comLinux设备驱动开发详解}主要出发点:Ø力求用最简单的实例讲解复杂的知识点,以免实例太复杂搅浑读者(驱动理论部分)Ø对Linux设备驱动多种复杂设备的框架结构进行了全面的介绍(驱动框架部分)Ø更面向实际的嵌入式工程,讲解开发必备的软硬件基础,及开发手段(调试与移植部分)Ø提供讨论与交流平台(华清远见,www.linuxdriver.cn)www.hq
7、yj.com让我们一起讨论!www.hqyj.com18www.hqyj.com讯猴百度文库批量上传下载全能助手(cookie版)http://dl.dbank.com/c0i2kby58x
此文档下载收益归作者所有