《Android系统级深入开发—移植与调试》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:韩超,梁泉著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2011
  • ISBN:9787121126093
  • 页数:372 页
图书介绍:本书主要内容包括,Android的源代码的获取和编译、Goldfish,MSM,OMAP三种内核,基本GUI、多媒体、连接、手机附属部件、电源管理多个子系统在三种平台的移植。本书适合读者: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的frarnebuffer驱动程序 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的framnebuffer驱动程序 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.3MSM系统的蓝牙实现 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.4MSM平台的GPS硬件适配层实现 257

第16章 电话系统 260

16.1电话系统结构和移植内容 260

16.1.1电话系统的系统结构 260

16.1.2移植的内容 262

16.2移植和调试的要点 262

16.2.1驱动程序 262

16.2.2RIL实现库的接口 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.3MSM平台中的实现 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.4MSM平台的实现 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.3MSM中的实现 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.3MSM中的实现 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