Android底层开发技术实战详解——内核、移植和驱动

《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

本图书信息来源于:中国互动出版网

相关推荐