Android底层接口与驱动开发技术详解PDF电子书下载
- 电子书积分:16 积分如何计算积分?
- 作 者:陈强编著
- 出 版 社:北京:中国铁道出版社
- 出版年份:2012
- ISBN:9787113147938
- 页数:548 页
第1篇 基础篇 2
第1章 Android概述 2
1.1 智能手机世界 2
1.1.1 何谓智能手机 2
1.1.2 当前主流的智能手机系统 3
1.2 Android的巨大优势 4
1.2.1 系出名门 4
1.2.2 强大的开发团队 4
1.2.3 诱人的奖励机制 5
1.3 搭建Android开发环境 6
1.3.1 安装Android SDK的系统要求 6
1.3.2 安装JDK、Eclipse、Android SDK 6
1.3.3 设定Android SDK Home 15
1.3.4 验证开发环境 16
1.3.5 创建Android虚拟设备 18
1.3.6 常见的几个问题 19
1.4 Android模拟器 24
1.4.1 Android模拟器简介 24
1.4.2 模拟器和真机究竟有何区别 24
1.4.3 模拟器简单总结 25
第2章 在驱动开发之前所要做的工作 28
2.1 什么是驱动 28
2.1.1 驱动程序的魅力 28
2.1.2 计算机中的驱动 29
2.1.3 手机中的驱动程序 29
2.2 简析Android安装文件 30
2.2.1 Android SDK目录结构 30
2.2.2 android.jar及内部结构 31
2.2.3 SDK文档及阅读技巧 32
2.2.4 SDK工具集 33
2.3 解析Android SDK实例 34
2.4 Android系统架构 38
2.4.1 Android体系结构介绍 38
2.4.2 Android应用工程文件组成 40
2.4.3 应用程序的生命周期 43
2.5 开源还是不开源 45
2.5.1 雾里看花的开源 45
2.5.2 从为什么选择Java谈为什么不开源驱动程序 46
2.5.3 对驱动开发者来说是一把双刃剑 47
第3章 Linux内核简析 48
3.1 Linux基础 48
3.1.1 Linux历史简介 48
3.1.2 主要版本 49
3.1.3 计算机业界的工业革命 49
3.1.4 2007年带来的震撼杰作 50
3.2 Android和Linux的关系 50
3.2.1 继承与Linux 50
3.2.2 Android和Linux内核的区别 51
3.3 简析Linux内核 53
3.3.1 内核的体系结构 53
3.3.2 和Android密切相关的Linux内核知识 55
3.4 分析Linux内核源码很有必要 58
3.4.1 源码目录结构 59
3.4.2 浏览源码的工具 61
3.4.3 为什么用汇编语言编写内核代码 62
3.4.4 Linux内核的显著特性 62
3.4.5 学习Linux内核的方法 70
第2篇 必备技术篇 76
第4章 分析Android源码 76
4.1 搭建Linux开发环境和工具 76
4.1.1 搭建Linux开发环境 76
4.1.2 设置环境变量 77
4.1.3 安装编译工具 77
4.2 获取Android源码 78
4.3 分析并编译Android源码 79
4.3.1 Android源码的结构 80
4.3.2 编译Android源码 84
4.3.3 运行Android源码 85
4.3.4 实践演练——演示两种编译Android程序的方法 86
4.4 编译Android Kernel 90
4.4.1 获取Goldfish内核代码 90
4.4.2 获取MSM内核代码 93
4.4.3 获取OMAP内核代码 93
4.4.4 编译Android的Linux内核 93
4.5 运行模拟器 95
4.5.1 Linux环境下运行模拟器的方法 95
4.5.2 模拟器辅助工具——ADB 96
第5章 驱动需要移植 99
5.1 驱动开发需要做的工作 99
5.2 Android移植 101
5.2.1 移植的任务 101
5.2.2 移植的内容 102
5.2.3 驱动开发需要做的工作 103
5.3 Android对Linux的改造 103
5.3.1 Android的核心驱动 103
5.3.2 Android对Linux内核文件的改动 105
5.3.3 为Android构建Linux的操作系统 107
5.4 内核空间和用户空间接口是一个媒介 107
5.4.1 内核空间和用户空间的相互作用 107
5.4.2 系统和硬件之间的交互 108
5.4.3 使用Relay实现内核到用户空间的数据传输 110
5.5 三类驱动程序 113
5.5.1 字符设备驱动 113
5.5.2 块设备驱动 121
5.5.3 网络设备驱动 125
第6章 HAL层深入分析 127
6.1 认识HAL层 127
6.1.1 HAL层的发展 128
6.1.2 过去和现在的区别 129
6.2 分析HAL层源码 129
6.2.1 分析HAL moudle 129
6.2.2 分析mokoid工程 132
6.3 总结HAL层的使用方法 141
6.4 Sensor(传感器)在HAL层的表现 144
6.4.1 HAL层的Sensor代码 144
6.4.2 总结Sensor编程的流程 146
6.4.3 分析Sensor源码看Android API与硬件平台的衔接 146
6.5 移植总结 157
6.5.1 移植各个Android部件的方式 157
6.5.2 移植技巧之一——不得不说的辅助工作 158
第7章 Goldfish下的驱动解析 165
7.1 staging驱动 165
7.1.1 staging驱动概述 165
7.1.2 Binder驱动程序 166
7.1.3 Logger驱动 175
7.1.4 Lowmemorykiller组件 175
7.1.5 Timed Output驱动程序 176
7.1.6 Timed Gpio驱动程序 178
7.1.7 Ram Console驱动程序 179
7.2 wakelock和early_suspend 179
7.2.1 wakelock和early_suspend的原理 179
7.2.2 Android休眠 180
7.2.3 Android唤醒 183
7.3 Ashmem驱动程序 184
7.4 Pmem驱动程序 187
7.5 Alarm驱动程序 188
7.5.1 Alarm简析 188
7.5.2 Alarm驱动的实现 188
7.6 USB Gadget驱动程序 190
7.7 Android Paranoid驱动程序 191
7.8 Goldfish设备驱动 192
7.8.1 Framebuffer驱动 193
7.8.2 键盘驱动 197
7.8.3 实时时钟驱动 198
7.8.4 TTY终端驱动 199
7.8.5 NandFlash驱动 200
7.8.6 MMC驱动 200
7.8.7 电池驱动 200
第8章 MSM内核和驱动解析 201
8.1 MSM基础 201
8.1.1 高通公司介绍 201
8.1.2 常见MSM处理器产品 201
8.1.3 Snapdragon内核介绍 203
8.2 移植MSM内核简介 204
8.3 移植MSM 205
8.3.1 Makefile文件 205
8.3.2 驱动和组件 207
8.3.3 设备驱动 209
8.3.4 高通特有的组件 211
第9章 OMAP内核和驱动解析 214
9.1 OMAP基础 214
9.1.1 OMAP简析 214
9.1.2 常见OMAP处理器产品 214
9.1.3 开发平台 215
9.2 OMAP内核 215
9.3 移植OMAP体系结构 217
9.3.1 移植OMAP平台 217
9.3.2 移植OMAP处理器 220
9.4 移植Android专用驱动和组件 224
9.5 OMAP的设备驱动 226
第3篇 核心技术与应用篇 232
第10章 显示系统驱动应用 232
10.1 显示系统介绍 232
10.1.1 Android的版本 232
10.1.2 不同版本的显示系统 233
10.2 移植和调试前的准备 233
10.2.1 Framebuffer驱动程序 233
10.2.2 硬件抽象层 235
10.3 实现显示系统的驱动程序 247
10.3.1 Goldfish中的Framebuffer驱动程序 247
10.3.2 使用Gralloc模块的驱动程序 250
10.4 MSM高通处理器中的显示驱动实现 260
10.4.1 MSM中的Framebuffer驱动程序 261
10.4.2 MSM中的Gralloc驱动程序 263
10.5 OMAP处理器中的显示驱动实现 271
第11章 输入系统驱动应用 274
11.1 输入系统介绍 274
11.1.1 Android输入系统的结构元素介绍 274
11.1.2 我们的工作 275
11.2 Input(输入)驱动 276
11.3 模拟器的输入驱动 290
11.4 MSM高通处理器中的输入驱动实现 291
11.4.1 触摸屏驱动 291
11.4.2 按键和轨迹球驱动 297
11.5 OMAP处理器中的输入驱动实现 300
11.5.1 触摸屏驱动程序 300
11.5.2 键盘驱动程序 300
第12章 振动器系统驱动 303
12.1 振动器系统结构 303
12.1.1 硬件抽象层 304
12.1.2 JNI框架部分 306
12.2 开始移植 307
12.2.1 移植振动器驱动程序 307
12.2.2 实现硬件抽象层 308
12.3 在MSM平台实现振动器驱动 309
第13章 音频系统驱动 312
13.1 音频系统结构 312
13.2 分析音频系统的层次 313
13.2.1 层次说明 313
13.2.2 Media库中的Audio框架 314
13.2.3 本地代码 317
13.2.4 JNI代码 320
13.2.5 Java代码 321
13.3 移植Audio系统的必备技术 322
13.3.1 我们的工作 322
13.3.2 分析硬件抽象层 322
13.3.3 分析AudioFlinger中的Audio硬件抽象层的实现 324
13.4 真正实现Audio硬件抽象层 330
13.5 MSM平台实现Audio驱动系统 330
13.5.1 实现Audio驱动程序 330
13.5.2 实现硬件抽象层 331
13.6 OSS平台实现Audio驱动系统 335
13.6.1 OSS驱动程序介绍 335
13.6.2 mixer 336
13.7 ALSA平台实现Audio系统 343
13.7.1 注册音频设备和音频驱动 343
13.7.2 在Android中使用ALSA声卡 344
13.7.3 在OMAP平台移植Android的ALSA声卡驱动 352
第14章 视频输出系统驱动 356
14.1 视频输出系统结构 356
14.2 我们需要移植的部分 358
14.3 分析硬件抽象层 358
14.3.1 Overlay系统硬件抽象层的接口 358
14.3.2 实现Overlay系统的硬件抽象层 361
14.3.3 实现接口 362
14.4 实现Overlay硬件抽象层 363
14.5 在OMAP平台实现Overlay系统 365
14.5.1 实现输出视频驱动程序 365
14.5.2 实现Overlay硬件抽象层 366
14.6 系统层调用Overlay HAL的架构 372
14.6.1 调用Overlay HAL的架构的流程 372
14.6.2 S3C6410 Android Overlay的测试代码 376
第15章 OpenMax多媒体框架 378
15.1 OpenMax基本层次结构 378
15.2 分析OpenMax框架构成 379
15.2.1 OpenMax总体层次结构 379
15.2.2 OpenMax IL层的结构 380
15.2.3 Android中的OpenMax 383
15.3 实现OpenMax IL层接口 383
15.3.1 OpenMax IL层的接口 383
15.3.2 在OpenMax IL层中我们需要干什么 389
15.3.3 研究Android中的OpenMax适配层 390
15.4 在OMAP平台实现OpenMax IL 392
15.4.1 实现文件 392
15.4.2 分析TI OpenMax IL的核心 393
15.4.3 实现TI OpenMax IL组件实例 396
第16章 多媒体插件框架 401
16.1 Android多媒体插件 401
16.2 我们需要移植的内容 402
16.3 OpenCore引擎 403
16.3.1 OpenCore层次结构 403
16.3.2 OpenCore代码结构 404
16.3.3 OpenCore编译结构 405
16.3.4 OpenCore OSCL 409
16.3.5 实现OpenCore中的OpenMax部分 411
16.3.6 OpenCore的扩展 424
16.4 Stagefright引擎 430
16.4.1 Stagefright代码结构 430
16.4.2 Stagefright实现OpenMax接口 430
16.4.3 Video Buffer传输流程 434
第17章 传感器系统 440
17.1 传感器系统的结构 440
17.2 我们需要移植的内容 442
17.2.1 移植驱动程序 442
17.2.2 移植硬件抽象层 443
17.2.3 实现上层部分 444
17.3 在模拟器中实现传感器 448
第18章 照相机系统 454
18.1 Camera系统的结构 454
18.2 我们需要移植的内容 457
18.3 移植和调试 457
18.3.1 V4L2驱动程序 457
18.3.2 硬件抽象层 464
18.4 实现Camera系统的硬件抽象层 468
18.4.1 Java程序部分 468
18.4.2 Camera的Java本地调用部分 469
18.4.3 Camera的本地库libui.so 470
18.4.4 Camera服务libcameraservice.so 471
18.5 MSM平台实现Camera系统 476
18.6 OMAP平台实现Camera系统 479
第19章 Wi-Fi系统、蓝牙系统和GPS系统 480
19.1 Wi-Fi系统 480
19.1.1 Wi-Fi系统的结构 480
19.1.2 需要移植的内容 482
19.1.3 移植和调试 482
19.1.4 OMAP平台实现Wi-Fi 490
19.1.5 配置Wi-Fi的流程 492
19.1.6 具体演练——在Android下实现Ethernet 494
19.2 蓝牙系统 495
19.2.1 蓝牙系统的结构 495
19.2.2 需要移植的内容 497
19.2.3 具体移植 498
19.2.4 MSM平台的蓝牙驱动 500
19.3 定位系统 502
19.3.1 定位系统的结构 502
19.3.2 需要移植的内容 503
19.3.3 移植和调试 504
第20章 电话系统 517
20.1 电话系统基础 517
20.1.1 电话系统简介 517
20.1.2 电话系统结构 519
20.2 需要移植的内容 520
20.3 移植和调试 520
20.3.1 驱动程序 520
20.3.2 RIL接口 522
20.4 电话系统实现流程分析 525
20.4.1 初始启动流程 525
20.4.2 request流程 527
20.4.3 response流程 530
第21章 其他系统 532
21.1 Alarm警报器系统 532
21.1.1 Alarm系统的结构 532
21.1.2 需要移植的内容 533
21.1.3 移植和调试 534
21.1.4 模拟器环境的具体实现 535
21.1.5 MSM平台实现Alarm 536
21.2 Lights光系统 537
21.2.1 Lights光系统的结构 537
21.2.2 需要移植的内容 538
21.2.3 移植和调试 538
21.2.4 MSM平台实现光系统 540
21.3 Battery电池系统 541
21.3.1 Battery系统的结构 541
21.3.2 需要移植的内容 542
21.3.3 移植和调试 542
21.3.4 模拟器中实现电池系统 546
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《现代水泥技术发展与应用论文集》天津水泥工业设计研究院有限公司编 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《Prometheus技术秘笈》百里燊 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《药剂学实验操作技术》刘芳,高森主编 2019
- 《林下养蜂技术》罗文华,黄勇,刘佳霖主编 2017
- 《脱硝运行技术1000问》朱国宇编 2019
- 《催化剂制备过程技术》韩勇责任编辑;(中国)张继光 2019
- 《信息系统安全技术管理策略 信息安全经济学视角》赵柳榕著 2020
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《中国当代乡土小说文库 本乡本土》(中国)刘玉堂 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《中国铁路人 第三届现实主义网络文学征文大赛一等奖》恒传录著 2019
- 《莼江曲谱 2 中国昆曲博物馆藏稀见昆剧手抄曲谱汇编之一》郭腊梅主编;孙伊婷副主编;孙文明,孙伊婷编委;中国昆曲博物馆编 2018
- 《中国制造业绿色供应链发展研究报告》中国电子信息产业发展研究院 2019
- 《中国陈设艺术史》赵囡囡著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《《走近科学》精选丛书 中国UFO悬案调查》郭之文 2019
- 《清至民国中国西北戏剧经典唱段汇辑 第8卷》孔令纪 2018
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018