huningjun 2012-08-23
《Android底层开发技术实战详解——内核、移植和驱动》
基本信息
作者:王振丽
丛书名:Android移动开发技术丛书
出版社:电子工业出版社
ISBN:9787121175930
上架时间:2012-8-13
出版日期:2012年8月
开本:16开
页码:540
版次:1-1
所属分类:计算机>软件与程序设计>移动开发>Android
更多关于》》》《Android底层开发技术实战详解——内核、移植和驱动》
内容简介
书籍
计算机书籍
《android底层开发技术实战详解——内核、移植和驱动》从底层原理开始讲起,结合真实的案例向读者详细介绍了android内核、移植和驱动开发的整个流程。全书分为19章,依次讲解驱动移植的必要性,何为hal层深入分析,goldfish、msm、map内核和驱动解析,显示系统、输入系统、振动器系统、音频系统、视频输出系统的驱动,openmax多媒体、多媒体插件框架,传感器、照相机、wi-fi、蓝牙、gps和电话系统等。在每一章中,重点介绍了与android驱动开发相关的底层知识,并对android源码进行了剖析。
《android底层开发技术实战详解——内核、移植和驱动》适合android研发人员及android爱好者学习,也可以作为相关培训学校和大专院校相关专业的教学用书。
目录
《android底层开发技术实战详解——内核、移植和驱动》
第1章 android底层开发基础1
1.1什么是驱动1
1.1.1驱动程序的魅力1
1.1.2电脑中的驱动2
1.1.3手机中的驱动程序2
1.2开源还是不开源的问题3
1.2.1雾里看花的开源3
1.2.2从为什么选择java谈为什么不开源驱动程序3
1.2.3对驱动开发者来说是一把双刃剑4
1.3android和linux4
1.3.1linux简介5
1.3.2android和linux的关系5
1.4简析linux内核8
1.4.1内核的体系结构8
1.4.2和android密切相关的linux内核知识10
1.5分析linux内核源代码很有必要14
1.5.1源代码目录结构14
1.5.2浏览源代码的工具16
1.5.3为什么用汇编语言编写内核代码17
1.5.4linux内核的显著特性18
1.5.5学习linux内核的方法26
第2章 分析android源代码31
2.1搭建linux开发环境和工具31
2.1.1搭建linux开发环境31
2.1.2设置环境变量32
2.1.3安装编译工具32
2.2获取android源代码33
2.3分析并编译android源代码35
2.3.1android源代码的结构35
2.3.2编译android源代码40
2.3.3运行android源代码42
2.3.4实践演练——演示编译android程序的两种方法43
2.4编译androidkernel47
2.4.1获取goldfish内核代码47
2.4.2获取msm内核代码50
2.4.3获取omap内核代码50
2.4.4编译android的linux内核50
2.5运行模拟器52
2.5.1linux环境下运行模拟器的方法53
2.5.2模拟器辅助工具——adb54
第3章 驱动需要移植57
3.1驱动开发需要做的工作57
3.2android移植59
3.2.1移植的任务60
3.2.2移植的内容60
3.2.3驱动开发的任务61
3.3android对linux的改造61
3.3.1android对linux内核文件的改动62
3.3.2为android构建linux的操作系统63
3.4内核空间和用户空间接口是一个媒介64
3.4.1内核空间和用户空间的相互作用64
3.4.2系统和硬件之间的交互64
3.4.3使用relay实现内核到用户空间的数据传输66
3.5三类驱动程序70
3.5.1字符设备驱动程序70
3.5.2块设备驱动程序79
3.5.3网络设备驱动程序82
第4章 hal层深入分析84
4.1认识hal层84
4.1.1hal层的发展84
4.1.2过去和现在的区别86
4.2分析hal层源代码86
4.2.1分析halmoudle86
4.2.2分析mokoid工程89
4.3总结hal层的使用方法98
4.4传感器在hal层的表现101
4.4.1hal层的sensor代码102
4.4.2总结sensor编程的流程104
4.4.3分析sensor源代码看androidapi与硬件平台的衔接104
4.5移植总结116
4.5.1移植各个android部件的方式116
4.5.2移植技巧之一——不得不说的辅助工作117
第5章 goldfish下的驱动解析125
5.1staging驱动125
5.1.1staging驱动概述125
5.1.2binder驱动程序126
5.1.3logger驱动程序135
5.1.4lowmemorykiller组件136
5.1.5timedoutput驱动程序137
5.1.6timedgpio驱动程序139
5.1.7ramconsole驱动程序139
5.2wakelock和early_suspend140
5.2.1wakelock和early_suspend的原理140
5.2.2android休眠141
5.2.3android唤醒144
5.3ashmem驱动程序145
5.4pmem驱动程序148
5.5alarm驱动程序149
5.5.1alarm简析149
5.5.2alarm驱动程序的实现150
5.6usbgadget驱动程序151
5.7androidparanoid驱动程序153
5.8goldfish设备驱动154
5.8.1framebuffer驱动155
5.8.2键盘驱动159
5.8.3实时时钟驱动程序160
5.8.4tty终端驱动程序161
5.8.5nandflash驱动程序162
5.8.6mmc驱动程序162
5.8.7电池驱动程序162
第6章 msm内核和驱动解析164
6.1msm基础164
6.1.1常见msm处理器产品164
6.1.2snapdragon内核介绍165
6.2移植msm内核简介166
6.3移植msm168
6.3.1makefile文件168
6.3.2驱动和组件170
6.3.3设备驱动172
6.3.4高通特有的组件174
第7章 omap内核和驱动解析177
7.1omap基础177
7.1.1omap简析177
7.1.2常见omap处理器产品177
7.1.3开发平台178
7.2omap内核178
7.3移植omap体系结构180
7.3.1移植omap平台180
7.3.2移植omap处理器183
7.4移植android专用驱动和组件188
7.5omap的设备驱动190
第8章 显示系统驱动应用195
8.1显示系统介绍195
8.1.1android的版本195
8.1.2不同版本的显示系统195
8.2移植和调试前的准备196
8.2.1framebuffer驱动程序196
8.2.2硬件抽象层198
8.3实现显示系统的驱动程序210
8.3.1goldfish中的framebuffer驱动程序210
8.3.2使用gralloc模块的驱动程序214
8.4msm高通处理器中的显示驱动实现224
8.4.1msm中的framebuffer驱动程序225
8.4.2msm中的gralloc驱动程序227
8.5omap处理器中的显示驱动实现235
第9章 输入系统驱动应用239
9.1输入系统介绍239
9.1.1android输入系统结构元素介绍239
9.1.2移植android输入系统时的工作240
9.2input(输入)驱动241
9.3模拟器的输入驱动256
9.4msm高通处理器中的输入驱动实现257
9.4.1触摸屏驱动257
9.4.2按键和轨迹球驱动264
9.5omap处理器平台中的输入驱动实现266
9.5.1触摸屏驱动267
9.5.2键盘驱动267
第10章 振动器系统驱动269
10.1振动器系统结构269
10.1.1硬件抽象层271
10.1.2jni框架部分272
10.2开始移植273
10.2.1移植振动器驱动程序273
10.2.2实现硬件抽象层274
10.3在msm平台实现振动器驱动275
第11章 音频系统驱动279
11.1音频系统结构279
11.2分析音频系统的层次280
11.2.1层次说明280
11.2.2media库中的audio框架281
11.2.3本地代码284
11.2.4jni代码288
11.2.5java代码289
11.3移植audio系统的必备技术289
11.3.1移植audio系统所要做的工作289
11.3.2分析硬件抽象层290
11.3.3分析audioflinger中的audio硬件抽象层的实现291
11.4真正实现audio硬件抽象层298
11.5msm平台实现audio驱动系统298
11.5.1实现audio驱动程序298
11.5.2实现硬件抽象层299
11.6oss平台实现audio驱动系统304
11.6.1oss驱动程序介绍304
11.6.2mixer305
11.7alsa平台实现audio系统312
11.7.1注册音频设备和音频驱动312
11.7.2在android中使用alsa声卡313
11.7.3在omap平台移植android的alsa声卡驱动322
第12章 视频输出系统驱动326
12.1视频输出系统结构326
12.2需要移植的部分328
12.3分析硬件抽象层328
12.3.1overlay系统硬件抽象层的接口328
12.3.2实现overlay系统的硬件抽象层331
12.3.3实现接口332
12.4实现overlay硬件抽象层333
12.5在omap平台实现overlay系统335
12.5.1实现输出视频驱动程序335
12.5.2实现overlay硬件抽象层337
12.6系统层调用overlayhal的架构342
12.6.1调用overlayhal的架构的流程342
12.6.2s3c6410androidoverlay的测试代码346
第13章 openmax多媒体框架349
13.1openmax基本层次结构349
13.2分析openmax框架构成350
13.2.1openmax总体层次结构350
13.2.2openmaxil层的结构351
13.2.3android中的openmax354
13.3实现openmaxil层接口354
13.3.1openmaxil层的接口354
13.3.2在openmaxil层中需要做什么361
13.3.3研究android中的openmax适配层361
13.4在omap平台实现openmaxil363
13.4.1实现文件364
13.4.2分析tiopenmaxil的核心365
13.4.3实现tiopenmaxil组件实例368
第14章 多媒体插件框架373
14.1android多媒体插件373
14.2需要移植的内容374
14.3opencore引擎375
14.3.1opencore层次结构375
14.3.2opencore代码结构376
14.3.3opencore编译结构377
14.3.4opencoreoscl381
14.3.5实现opencore中的openmax部分383
14.3.6opencore的扩展398
14.4stagefright引擎404
14.4.1stagefright代码结构404
14.4.2stagefright实现openmax接口405
14.4.3videobuffer传输流程409
第15章 传感器系统415
15.1传感器系统的结构415
15.2需要移植的内容417
15.2.1移植驱动程序417
15.2.2移植硬件抽象层418
15.2.3实现上层部分419
15.3在模拟器中实现传感器424
第16章 照相机系统430
16.1camera系统的结构430
16.2需要移植的内容433
16.3移植和调试433
16.3.1v4l2驱动程序433
16.3.2硬件抽象层441
16.4实现camera系统的硬件抽象层446
16.4.1java程序部分446
16.4.2camera的java本地调用部分447
16.4.3camera的本地库libui.so448
16.4.4camera服务libcameraservice.so449
16.5msm平台实现camera系统454
16.6omap平台实现camera系统457
第17章 wi-fi系统、蓝牙系统和gps系统459
17.1wi-fi系统459
17.1.1wi-fi系统的结构459
17.1.2需要移植的内容461
17.1.3移植和调试461
17.1.4omap平台实现wi-fi469
17.1.5配置wi-fi的流程471
17.1.6具体演练——在android下实现ethernet473
17.2蓝牙系统475
17.2.1蓝牙系统的结构475
17.2.2需要移植的内容477
17.2.3具体移植478
17.2.4msm平台的蓝牙驱动480
17.3定位系统482
17.3.1定位系统的结构483
17.3.2需要移植的内容484
17.3.3移植和调试484
第18章 电话系统498
18.1电话系统基础498
18.1.1电话系统简介498
18.1.2电话系统结构500
18.2需要移植的内容501
18.3移植和调试502
18.3.1驱动程序502
18.3.2ril接口504
18.4电话系统实现流程分析507
18.4.1初始启动流程507
18.4.2request流程509
18.4.3response流程512
第19章 其他系统514
19.1alarm警报器系统514
19.1.1alarm系统的结构514
19.1.2需要移植的内容515
19.1.3移植和调试516
19.1.4模拟器环境的具体实现518
19.1.5msm平台实现alarm518
19.2lights光系统519
19.2.1lights光系统的结构520
19.2.2需要移植的内容521
19.2.3移植和调试521
19.2.4msm平台实现光系统523
19.3battery电池系统524
19.3.1battery系统的结构524
19.3.2需要移植的内容526
19.3.3移植和调试526
19.3.4在模拟器中实现电池系统529
本图书信息来源于:中国互动出版网