图书介绍

Android驱动开发与移植实战详解PDF|Epub|txt|kindle电子书版本网盘下载

Android驱动开发与移植实战详解
  • 李骏,陈小玉编著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115283610
  • 出版时间:2012
  • 标注页数:554页
  • 文件大小:63MB
  • 文件页数:566页
  • 主题词:移动终端-应用程序-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Android驱动开发与移植实战详解PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 迅猛发展的Android系统1

1.1 智能手机世界1

1.1.1 何谓智能手机1

1.1.2 当前主流智能手机系统1

1.2 Android的自身优势3

1.2.1 开源3

1.2.2 强大的开发团队支持3

1.2.3 实行奖励机制4

1.3 认识驱动4

1.4 分析Android架构5

1.4.1 操作系统层(OS)5

1.4.2 各种库和Android运行环境6

1.4.3 应用程序7

1.4.4 应用程序框架7

1.5 开源的问题8

1.5.1 雾里看花的开源8

1.5.2 从选择Java开始谈为什么不开源驱动程序8

1.5.3 对驱动开发者的影响9

第2章 简要分析Linux内核10

2.1 Linux基础10

2.1.1 Linux历史简介10

2.1.2 主要版本10

2.1.3 Linux的发展机遇11

2.2 Android和Linux的关系11

2.2.1 Android继承于Linux12

2.2.2 Android和Linux内核的区别12

2.3 Linux内核简介14

2.3.1 内核的体系结构14

2.3.2 和Android相关的Linux内核知识17

2.4 分析Linux内核源码20

2.4.1 源码目录结构21

2.4.2 浏览源码的工具23

2.4.3 用汇编语言编写内核代码24

2.4.4 Linux内核的显著特性24

2.4.5 学习Linux内核的过程32

第3章 开始分析Android源码37

3.1 搭建Linux开发环境和工具37

3.1.1 搭建Linux开发环境37

3.1.2 设置环境变量38

3.1.3 安装编译工具38

3.2 获取Android源码39

3.3 分析Android源码结构41

3.4 编译Android源码46

3.5 运行Android源码48

3.6 实践演练——演示两种编译Android程序的方法49

3.6.1 编译NativeC的helloworld模块49

3.6.2 手工编译C模块50

3.7 编译Android Kernel53

3.7.1 获取Goldfish内核代码53

3.7.2 获取MSM内核代码56

3.7.3 获取OMAP内核代码56

3.7.4 编译Android的Linux内核56

3.8 运行模拟器58

3.8.1 Linux环境下运行模拟器的方法58

3.8.2 模拟器辅助工具——ADB59

第4章 驱动移植62

4.1 Android移植62

4.1.1 移植的任务62

4.1.2 移植的内容62

4.1.3 驱动开发需要做的工作63

4.2 Android对Linux的改造64

4.2.1 Android的核心驱动64

4.2.2 为Android构建Linux操作系统67

4.3 内核空间和用户空间接口68

4.3.1 实现系统和硬件之间的交互68

4.3.2 实现内核到用户空间的数据传输70

4.4 三类驱动程序74

4.4.1 字符设备驱动74

4.4.2 块设备驱动82

4.4.3 网络设备驱动86

第5章 深入详解HAL层87

5.1 初识HAL层87

5.1.1 HAL层简介87

5.1.2 比较HAL_legacy和HAL89

5.2 分析HAL层源码89

5.2.1 分析HAL module89

5.2.2 分析mokoid工程92

5.3 Sensor在HAL层的表现101

5.3.1 HAL层的Sensor代码101

5.3.2 总结Sensor编程的流程103

5.4 移植总结104

5.4.1 移植各个Android部件的方式104

5.4.2 辅助工作105

第6章 常见的驱动平台112

6.1 专用驱动112

6.1.1 Binder驱动程序112

6.1.2 Logger驱动122

6.1.3 组件Lowmemorykiller123

6.1.4 Timed Output驱动程序123

6.1.5 Timed Gpio驱动程序125

6.1.6 唤醒和休眠126

6.1.7 Ashmem驱动程序130

6.1.8 Pmem驱动程序133

6.1.9 Alarm驱动程序134

6.1.10 USB Gadget驱动程序136

6.1.11 Android Paranoid驱动程序137

6.2 Goldfish设备驱动138

6.3 MSM内核和驱动146

6.3.1 MSM基础146

6.3.2 移植MSM内核148

6.3.3 移植MSM150

6.3.4 高通特有的组件156

6.4 OMAP内核和驱动157

6.4.1 OMAP基础157

6.4.2 OMAP内核159

6.4.3 移植OMAP体系结构161

6.4.4 移植Android专用驱动和组件168

6.4.5 OMAP的设备驱动169

第7章 输入系统驱动175

7.1 输入系统介绍175

7.1.1 Android输入系统结构元素介绍175

7.1.2 Android输入系统驱动176

7.1.3 Input系统的层次结构177

7.1.4 移植工作177

7.2 Input驱动源码分析178

7.2.1 文件input.h178

7.2.2 文件KeycodeLabels.h182

7.2.3 文件KeyCharacterMap.h186

7.2.4 Kl格式文件187

7.2.5 kcm格式文件188

7.2.6 文件EventHub.cpp188

7.3 Input设备的运作过程191

7.3.1 Input设备的注册(硬件驱动层)192

7.3.2 Input子系统的加载过程(子系统核心层)192

7.3.3 Input子系统的事件处理(事件处理层)194

7.4 模拟器的输入驱动198

7.5 高通平台的输入驱动实现199

7.5.1 触摸屏驱动199

7.5.2 按键和轨迹球驱动205

7.6 OMAP处理器中的输入驱动实现208

7.6.1 触摸屏驱动程序208

7.6.2 键盘驱动程序208

第8章 电话系统驱动210

8.1 电话系统基础210

8.1.1 Android电话系统简介210

8.1.2 深入分析电话系统的实现文件211

8.1.3 电话系统结构212

8.2 移植Modem驱动和RIL硬件抽象层213

8.3 移植和调试214

8.3.1 驱动程序214

8.3.2 RIL接口216

8.4 实现电话系统驱动219

8.4.1 RIL中消息队列的建立219

8.4.2 与底层Modem通信224

8.5 深入分析实现Android电话系统的流程229

8.5.1 初始启动流程229

8.5.2 接收信息流程231

8.5.3 等待硬件响应233

第9章 显示系统驱动236

9.1 显示系统基础236

9.1.1 Android的版本236

9.1.2 不同的显示系统237

9.1.3 FrameBuffer驱动的使用基础237

9.2 移植Android显示系统238

9.2.1 FrameBuffer驱动程序238

9.2.2 硬件抽象层242

9.3 实现显示系统的驱动程序254

9.3.1 Goldfish中的FrameBuffer驱动程序254

9.3.2 使用Gralloc模块的驱动程序257

9.4 MSM中显示驱动的实现266

9.4.1 MSM中的FrameBuffer驱动程序267

9.4.2 MSM中的Gralloc驱动程序269

9.5 OMAP中显示驱动的实现276

9.5.1 文件omapfb-main.c276

9.5.2 文件omapfb.h278

9.6 6416中FrameBuffer的工作原理279

第10章 音频系统驱动286

10.1 音频系统结构286

10.2 音频系统的层次287

10.2.1 层次说明287

10.2.2 Media库中的Audio框架288

10.2.3 本地代码291

10.2.4 JNI代码294

10.2.5 Java代码295

10.3 移植工作296

10.3.1 两个任务296

10.3.2 Audio的硬件抽象层296

10.3.3 实现AudioFlinger中的Audio硬件抽象层298

10.3.4 真正实现Audio硬件抽象层304

10.4 MSM平台实现Audio驱动系统304

10.4.1 实现Audio驱动程序304

10.4.2 实现硬件抽象层305

10.5 OSS平台实现Audio驱动系统309

10.5.1 OSS驱动程序介绍309

10.5.2 mixer310

10.6 ALSA平台实现Audio系统317

10.6.1 ALSA基础317

10.6.2 注册音频设备和音频驱动318

10.6.3 ALSA的底层接口318

10.6.4 放音流程320

10.6.5 录音流程325

10.6.6 在Android中使用ALSA声卡328

10.6.7 在OMAP平台移植Android的ALSA声卡驱动337

10.7 6410中的ALSA驱动340

10.7.1 ALSA的设备文件340

10.7.2 创建声卡和PCM设备341

第11章 视频输出系统驱动344

11.1 视频输出系统结构344

11.2 移植的内容346

11.3 分析硬件抽象层346

11.3.1 Overlay系统硬件抽象层的接口346

11.3.2 实现硬件抽象层349

11.3.3 实现接口350

11.4 实现Overlay硬件抽象层351

11.5 在OMAP平台实现Overlay系统353

11.5.1 实现输出视频驱动程序353

11.5.2 实现Overlay硬件抽象层354

11.6 系统层调用Overlay模块360

11.6.1 测试文件360

11.6.2 在Android系统中创建Overlay361

11.6.3 管理Overlay HAL模块363

11.7 抽象层实现(V412驱动实现方式)364

第12章 振动器系统驱动369

12.1 振动器系统结构369

12.1.1 硬件抽象层371

12.1.2 JNI框架部分372

12.2 开始移植373

12.2.1 移植振动器驱动程序373

12.2.2 实现硬件抽象层374

12.3 在MSM平台实现振动器驱动375

第13章 Android多媒体插件框架379

13.1 Android多媒体插件379

13.2 需要移植的内容380

13.3 OpenCore引擎详解381

13.3.1 OpenCore的层次结构381

13.3.2 OpenCore的代码结构382

13.3.3 OpenCore的编译结构383

13.3.4 OpenCore OSCL387

13.3.5 实现OpenCore中的OpenMax部分389

13.3.6 OpenCore的扩展401

13.4 Stagefright引擎408

13.4.1 代码结构408

13.4.2 实现OpenMax接口408

13.4.3 Video Buffer传输流程412

第14章 Camera照相机驱动418

14.1 Camera系统的结构418

14.2 移植的内容421

14.2.1 fimc驱动模块的加载421

14.2.2 V412驱动的用法425

14.3 移植和调试426

14.3.1 V4L2驱动程序426

14.3.2 硬件抽象层434

14.4 实现Camera系统的硬件抽象层438

14.4.1 Java程序部分438

14.4.2 Java本地调用部分439

14.4.3 本地库libui.so440

14.4.4 Camera服务libcameraservice.so441

14.5 实现Camera系统445

14.5.1 在MSM平台实现Camera系统445

14.5.2 OMAP平台实现Camera系统448

14.6 借助Sensor驱动使用照相机系统449

第15章 传感器系统驱动452

15.1 传感器系统的结构452

15.2 移植Sensor驱动454

15.2.1 移植驱动程序454

15.2.2 移植硬件抽象层455

15.2.3 实现上层部分456

15.3 实现传感器460

第16章 Wi-Fi系统、蓝牙系统和GPS系统466

16.1 Wi-Fi系统的应用和移植466

16.1.1 Wi-Fi系统的结构466

16.1.2 移植的内容468

16.1.3 移植和调试468

16.1.4 OMAP平台实现Wi-Fi476

16.1.5 配置Wi-Fi478

16.1.6 SDIO设备的移植481

16.1.7 移植Wi-Fi驱动的注意事项485

16.2 蓝牙系统的应用和移植486

16.2.1 蓝牙结构487

16.2.2 移植的内容489

16.2.3 具体移植490

16.2.4 MSM平台的蓝牙驱动492

16.2.5 本地适配器连接过程494

16.2.6 远程适配器连接过程498

16.2.7 分析6410的蓝牙驱动500

16.3 定位系统510

16.3.1 系统结构510

16.3.2 移植的内容512

16.3.3 移植和调试512

16.3.4 GPS的串口驱动和数据读取525

第17章 振动器驱动和警报器驱动529

17.1 Alarm系统基础529

17.1.1 Alarm系统的结构529

17.1.2 移植的内容532

17.2 移植和调试532

17.3 实现Alarm驱动535

17.4 MSM平台实现Alarm542

第18章 光系统驱动和电池系统驱动544

18.1 Lights光系统的应用和移植544

18.1.1 Lights系统的结构544

18.1.2 移植的内容545

18.1.3 移植和调试546

18.1.4 MSM平台实现光系统547

18.1.5 深入分析Android的光系统548

18.2 Battery电池系统的应用和移植549

18.2.1 Battery系统的结构549

18.2.2 移植的内容551

18.2.3 移植和调试551

18.2.4 模拟器中实现电池系统554

热门推荐