词条 | 现代Android系统级深入开发—移植与调试 |
释义 | 基本信息作者:韩超 梁泉 出版社:电子工业出版社 ISBN:9787121126093 上架时间:2011-2-18 出版日期:2011 年2月 开本:16开 页码:372 版次:1-1 编辑推荐从Android开源工程到产品的开发宝典 全面介绍Android中与硬件相关的子系统 按照驱动程序和硬件抽象层两方面把握移植要点 高效粘合Linux系统经验和移动设备应用场景 以三种硬件平台为参考,参考开发环境宜于获得 作译者韩超,中国大陆资深Linux和移动开发工程师,长期从事一线开发工作,兼具开发实践经验和完备的教育思维模式。韩超是中国大陆较早开发Android系统开发的人员,曾从事系统框架、芯片移植适配和移动产品等开发领域;也曾经引领各种技术人员进入Android领域,并组织参与技术交流。 目录第1章 android系统移植开发概述 1 1 1 android系统架构和生态系统 1 1 1 1 android软件系统 1 1 1 2 android的生态系统 3 1 2 android移植的概念和方法 4 1 3 android移植的主要工作 5 第2章 android源代码和开发环境 8 2 1 开发环境和工具 8 2 2 android的代码库 9 2 3 android系统代码和编译 9 2 3 1 获取android源代码 9 2 3 2 android源代码结构 12 2 3 3 编译android系统源代码 13 2 3 4 编译android结果 13 2 4 android kernel代码和编译 14 2 4 1 goldfish内核源代码 15 2 4 2 msm内核源代码 15 2 4 3 omap内核源代码 16 2 5 仿真器的运行环境 16 2 5 1 仿真器的运行 16 2 5 2 使用附加工具 18 第3章 android系统移植的结构和方法 20 3 1 android的linux操作系统 20 3 1 1 标准的linux操作系统 20 3 1 2 android对linux 内核的使用 22 3 1 3 linux内核空间到用户空间的接口 24 3 1 4 平台数据和平台驱动 34 3 2 android的硬件抽象层 35 3 2 1 硬件抽象层的地位和功能 35 3 2 2 硬件抽象层接口方式 36 3 3 android中各个部件的移植方式 41 3 4 辅助性工作和基本调试方法 41 3 4 1 移植的辅助性工作 42 3 4 2 调试的方法 46 第4章 android的goldfish内核和驱动 56 4 1 goldfish内核概述 56 4 2 goldfish体系结构移植 58 4 3 goldfish的android专用驱动和组件 59 4 3 1 wakelock和earlysuspend 59 4 3 2 staging中的驱动程序 61 4 3 3 ashmem驱动程序 66 4 3 4 alarm驱动程序 67 4 3 5 pmem驱动程序 67 4 3 6 adb garget驱动程序 68 4 3 7 android paranoid网络 68 4 4 goldfish的相关设备驱动 70 4 4 1 framebuffer的驱动程序 70 4 4 2 键盘的驱动程序 70 4 4 3 实时时钟的驱动程序 71 4 4 4 tty终端的驱动程序 71 4 4 5 nandflash的驱动程序 72 4 4 6 mmc的驱动程序 72 4 4 7 电池的驱动程序 73 4 4 8 eac音频的驱动程序 73 第5章 android的msm内核和驱动 74 5 1 msm处理器概述 74 5 1 1 msm概述 74 5 1 2 msm适用于android的linux内核的结构 77 5 2 msm体系结构的移植 79 5 3 msm的android专用驱动和组件 80 5 4 msm的mahimahip平台的主要设备驱动 81 5 4 1 显示的驱动程序 81 5 4 2 触摸屏的驱动程序 82 5 4 3 按键和轨迹球的驱动程序 82 5 4 4 实时时钟的驱动程序 83 5 4 5 摄像头的驱动程序 83 5 4 6 无线局域网的驱动程序 83 5 4 7 蓝牙的驱动程序 84 5 4 8 dsp相关的驱动程序 84 5 4 9 高通特有的组件相关内容 85 第6章 android的omap内核和驱动 87 6 1 omap内核概述 87 6 1 1 omap概述 87 6 1 2 omap适用于android的linux内核的结构 91 6 2 omap体系结构的移植 92 6 2 1 omap平台部分的移植 92 6 2 2 omap处理器部分的移植 94 6 3 omap的android专用驱动和组件 96 6 4 omap的主要设备驱动 97 6 4 1 显示的驱动程序 97 6 4 2 摄像头和视频输出的驱动程序 98 6 4 3 i2c总线驱动程序 98 6 4 4 键盘的驱动程序 99 6 4 5 触摸屏的驱动程序 99 6 4 6 实时时钟的驱动程序 99 6 4 7 音频的驱动程序 99 6 4 8 蓝牙的驱动程序 100 6 4 9 以太网的驱动程序 100 6 4 10 dsp的驱动程序 100 第7章 显示系统 101 7 1 显示系统结构和移植内容 101 7 1 1 donut及其之前显示系统的结构 102 7 1 2 eclair及其之后显示系统的结构 102 7 1 3 移植的内容 103 7 2 移植和调试的要点 104 7 2 1 framebuffer驱动程序 104 7 2 2 donut及其之前的硬件抽象层 106 7 2 3 eclair及其之后的硬件抽象层 107 7 3 显示部分模拟器的实现方式 112 7 3 1 goldfish的framebuffer驱动程序 112 7 3 2 默认的gralloc模块的实现 113 7 4 msm中的实现 119 7 4 1 msm的framebuffer驱动程序 119 7 4 2 msm的gralloc模块的实现 120 7 5 omap中的实现 126 7 5 1 omap的framebuffer驱动程序 126 7 5 2 omap的用户空间的实现 128 第8章 用户输入系统 129 8 1 用户输入系统结构和移植内容 129 8 1 1 用户输入系统的结构 129 8 1 2 移植的内容 131 8 2 移植的要点 131 8 2 1 input驱动程序 131 8 2 2 用户空间的处理 134 8 2 3 移植需要注意的情况 139 8 3 模拟器中的实现 141 8 3 1 驱动程序 141 8 3 2 用户空间的配置文件 141 8 4 msm中的实现 142 8 4 1 触摸屏,轨迹球和按键驱动程序 142 8 4 2 用户空间的配置文件 144 8 5 omap中的实现 144 8 5 1 触摸屏和键盘的驱动程序 144 8 5 2 用户空间的配置文件 146 8 6 虚拟按键的实现 146 第9章 传感器系统 148 9 1 传感器系统结构和移植内容 148 9 1 1 传感器系统的结构 148 9 1 2 移植的内容 150 9 2 移植和调试的要点 150 9 2 1 驱动程序 150 9 2 2 硬件抽象层的内容 151 9 2 3 上层的情况和注意事项 153 9 3 模拟器中的实现 157 第10章 音频系统 162 10 1 音频系统结构和移植内容 162 10 1 1 音频系统的结构 162 10 1 2 移植的内容 164 10 2 移植和调试的要点 164 10 2 1 audio驱动程序 164 10 2 2 硬件抽象层的内容 164 10 2 3 audio策略管理的内容 168 10 2 4 上层的情况和注意事项 169 10 3 通用的audio系统实现 170 10 3 1 用桩实现的audio硬件抽象层 172 10 3 2 提供dump功能的audio硬件抽象层 174 10 3 3 通用的audio硬件抽象层 177 10 4 msm系统的实现 178 10 4 1 audio驱动程序 178 10 4 2 audio硬件抽象层 180 10 5 基于oss和alsa的实现方式 183 10 5 1 oss驱动程序 183 10 5 2 基于oss的硬件抽象层 184 10 5 3 alsa驱动程序 185 10 5 4 基于alsa的硬件抽象层 186 第11章 视频输出系统 190 11 1 视频输出系统结构和移植内容 190 11 1 1 视频输出系统的结构 191 11 1 2 移植的内容 192 11 2 移植和调试的要点 192 11 2 1 驱动程序 192 11 2 2 硬件抽象层的内容 192 11 2 3 上层的情况和注意实现 195 11 3 overlay硬件抽象层实现的框架 199 11 4 omap系统的实现 200 11 4 1 omap的视频输出部分的驱动程序 200 11 4 2 omap overlay 硬件抽象层 202 第12章 照相机系统 205 12 1 照相机系统结构和移植内容 205 12 1 1 照相机系统的结构 206 12 1 2 移植的内容 207 12 2 移植和调试的要点 207 12 2 1 video for 4linux驱动程序 207 12 2 2 硬件抽象层的内容 210 12 2 3 上层的情况和注意事项 215 12 2 4 照相机系统的数据流情况 219 12 3 camera硬件抽象层桩实现 222 12 4 msm平台的camera实现 226 12 4 1 msm平台的camera驱动程序 226 12 4 2 msm平台的camera硬件抽象层 227 12 5 omap平台的camera实现 228 12 5 1 omap平台的camera驱动程序 228 12 5 2 omap平台的camera硬件抽象层 229 第13章 无线局域网系统 230 13 1 无线局域网系统结构和移植内容 230 13 1 1 无线局域网系统的结构 231 13 1 2 移植的内容 232 13 2 移植和调试的要点 232 13 2 1 协议和驱动程序 232 13 2 2 用户空间的内容 233 13 2 3 上层的情况和调试方法 233 13 3 omap系统的无线局域网实现 235 13 3 1 linux内核中的内容 235 13 3 2 用户空间的实现 236 第14章 蓝牙系统 238 14 1 蓝牙系统结构和移植内容 238 14 1 1 蓝牙系统的结构 239 14 1 2 移植的内容 240 14 2 移植和调试的要点 240 14 2 1 驱动程序 240 14 2 2 本地代码的配置部分 242 14 2 3 上层的情况和调试方法 244 14 3 msm系统的蓝牙实现 245 14 3 1 驱动部分 245 14 3 2 用户空间的部分 247 第15章 定位系统 248 15 1 定位系统的系统结构和移植内容 248 15 1 1 定位系统的系统结构 248 15 1 2 移植的内容 250 15 2 移植和调试的要点 250 15 2 1 驱动程序 250 15 2 2 硬件抽象层 251 15 2 3 上层的情况和调试方法 253 15 3 仿真器的gps硬件适配层实现 256 15 4 msm平台的gps硬件适配层实现 257 第16章 电话系统 260 16 1 电话系统结构和移植内容 260 16 1 1 电话系统的系统结构 260 16 1 2 移植的内容 262 16 2 移植和调试的要点 262 16 2 1 驱动程序 262 16 2 2 ril实现库的接口 264 16 2 3 数据连接部分 266 16 2 4 调试方法 267 16 3 电话部分的ril参考实现 268 16 3 1 端口初始化 268 16 3 2 at命令处理流程 269 16 3 3 event模块 270 16 3 4 modem at命令初始化 272 16 3 5 请求和响应流程的处理 272 16 3 6 特定命令类型的实现 274 第17章 opengl 3d引擎 276 17 1 opengl系统结构和移植内容 276 17 1 1 opengl系统的结构 277 17 1 2 移植的内容 283 17 2 移植和调试的要点 283 17 2 1 opengl移植层的接口 283 17 2 2 上层的情况和opengl的调试 285 17 2 android软件opengl的实现 288 17 3 不同系统中的实现 290 第18章 openmax多媒体引擎 292 18 1 openmax系统结构和移植内容 292 18 1 1 openmax系统的结构 293 18 1 2 android openmax实现的内容 297 18 2 openmax的接口与实现 297 18 2 1 openmax il层的接口 297 18 2 2 openmax il实现的内容 302 18 2 3 android中openmax的适配层 302 18 3 omap平台openmax il的硬件实现 304 18 3 1 ti openmax il实现的结构和机制 304 18 3 2 ti openmax il的核心和公共内容 306 18 3 3 一个ti openmax il组件的实现 307 第19章 多媒体系统的插件 310 19 1 android多媒体相关结构与移植内容 310 19 1 1 多媒体处理过程 311 19 1 2 移植的内容 312 19 2 opencore引擎的结构和插件 313 19 2 1 opencore的结构 313 19 2 2 opencore的node插件机制 314 19 2 3 openmax部分的结构、实现和插件结构 316 19 2 4 关于媒体输入输出类mediaio 322 19 2 5 opencore player的视频显示部分插件 325 19 3 stagefright引擎的结构和插件 326 19 3 1 stagefright系统结构 326 19 3 2 stagefright对android中openmax接口的实现 328 19 3 3 mediasource插件机制 328 19 3 4 openmax和videorenderer插件机制 330 19 4 omap平台实现的插件 332 19 4 1 opencore的openmax插件 333 19 4 2 opencore的视频输出插件 334 19 4 3 stagefright的openmax和视频输出插件 336 第20章 位块复制系统 339 20 1 位块复制结构和移植内容 339 20 1 1 位块复制系统的结构 339 20 1 2 移植内容 340 20 2 移植和调试的要点 340 20 2 1 驱动程序 340 20 2 2 硬件抽象层的内容 341 20 2 3 上层的情况和注意事项 342 20 3 msm平台中的实现 343 第21章 警报器——实时时钟系统 346 21 1 警报器——实时时钟结构和移植内容 346 21 1 1 警报器——实时时钟系统的结构 346 21 1 2 移植内容 347 21 2 移植与调试的要点 348 21 2 1 rtc驱动程序 348 21 2 2 alarm驱动程序 349 21 2 3 上层的情况和注意事项 349 21 3 模拟器环境中的实现 351 21 4 msm平台的实现 351 第22章 光系统 354 22 1 光系统结构和移植内容 354 22 1 1 光系统部分的结构 354 22 1 2 移植内容 355 22 2 移植与调试的要点 356 22 2 1 驱动程序 356 22 2 2 硬件抽象层的内容 356 22 2 3 上层的情况和注意事项 357 22 3 msm中的实现 359 22 3 1 驱动程序 359 22 3 2 硬件抽象层 359 第23章 振动器系统 361 23 1 振动器系统结构和移植内容 361 23 1 1 振动器部分的结构 361 23 1 2 移植内容 362 23 2 移植与调试的要点 363 23 2 1 驱动程序 363 23 2 2 硬件抽象层的内容 363 23 2 3 上层的情况和注意事项 364 23 3 msm中的实现 365 第24章 电池系统 367 24 1 电池系统结构和移植内容 367 24 1 1 电池系统部分的结构 367 24 1 2 移植内容 368 24 2 移植和调试的要点 368 24 2 1 驱动程序 368 24 2 2 上层的情况和注意事项 369 24 3 模拟器中的实现 371 前言Android系统是目前最为流行的手机系统之一,本书作者在推出了全面介绍Android系统的《Android系统原理及开发要点详解》一书,同时出版了繁体版,并将版权成功输出到韩国,韩文版将在2011年7月出版。在本书出版之后,笔者切实感到越来越多的开发人员和企业在关注Android系统的各个方面。 Android系统是开源的,它的一个比较大的优势就是可以移植到各个不同的硬件平台上。“移植”是Android系统的精华所在,也是Android开发中的难点兼重点。 本书《Android系统级深入开发——移植与调试》出版的主要目的是分享开发经验,帮助众多开发者快速地掌握Android系统在不同硬件平台移植的方法。帮助工程师以最快的速度、最小的开销、最轻的工作量,让Android系统高效地运行在更多的硬件上。 本书特点 本书紧紧抓住了Android系统移植与调试的主题,从开发者的角度出发,其特点主要包括以下几个方面: 本书使用的代码以Android的开源工程为主,硬件也是比较常见的设备,保证读者可以很容易地获得开发环境。 根据Android系统自身的固有特点,从Linux内核中的驱动和硬件抽象层两个着手点作为切入点。 按照Linux的开发思路,从驱动程序的角度出发,让具有Linux开发经验的工程师,可以更快地熟悉主要用于移动设备开发的Android系统。 从模拟器、高通的MSM平台、德州仪器的OMAP平台这三种硬件平台出发,全面介绍,不以偏概全,既把握共同点,也突出差异。 对于Android中规模和难度各不相同的子系统,抓住它们和硬件相关的共同点,采取同样的格式和思路进行介绍,体现了“从特殊到一般”的理念。 简要介绍各个子系统的框架,并列出代码路径,对移植部分的主要调用部分加强提示,让读者更全面地把握系统。 本书内容 本书分成24章,各章的内容如下所示: 第1章和第2章:概要部分 介绍Android的系统的大结构、移植的主要工作,开发环境的构建方法 第3章:全书的总纲 全面介绍Linux系统的驱动程序,突出介绍Android中硬件抽象层的不同实现方式,展示Android移植的各个方面 续表 第4章至第6章:Linux内核方面 主要介绍用于模拟器的Goldfish、MSM的mahimahip平台和OMAP的Zoom平台的3种Linux内核,介绍了不同体系结构的移植,与硬件无关的Android专用驱动,并简单介绍了各个硬件设备的驱动程序 第7章和第8章:基本GUI的系统 包括显示输出和用户输入两个部分,是每个系统最优先移植的部分 第9章:传感器系统 体现Android系统最经典的移植方式 第10章至第12章:多媒体的输入输出环节 是Android移植重点关注的部分 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。