分享标准 分享快乐

基础信息

图书名
Android底层开发技术实战详解
作者
王振丽
出版日期
2012-8 00:00:00
I.S.B.N.
9787121175930
文件大小
135 MB
文件类型
PDF 格式
打开方式
Adobe Reader
关 键 词

内容简介

  《Android底层开发技术实战详解:内核、移植和驱动》从底层原理开始讲起,结合真实的案例向读者详细介绍了Android内核、移植和驱动开发的整个流程。《Android底层开发技术实战详解:内核、移植和驱动》分为19章,依次讲解驱动移植的必要性,何为HAL层深入分析,Goldfish、MSM、MAP内核和驱动解析,显示系统、输入系统、振动器系统、音频系统、视频输出系统的驱动,OpenMax多媒体、多媒体插件框架,传感器、照相机、Wi-Fi、蓝牙、GPS和电话系统等。在每一章中,重点介绍了与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.3 android和linux 4

  1.3.1 linux简介 5

  1.3.2 android和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.4 linux内核的显著特性 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.1 android源代码的结构 35

  2.3.2 编译android源代码 40

  2.3.3 运行android源代码 42

  2.3.4 实践演练——演示编译android程序的两种方法 43

  2.4 编译android kernel 47

  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.1 linux环境下运行模拟器的方法 53

  2.5.2 模拟器辅助工具——adb 54

  第3章 驱动需要移植 57

  3.1 驱动开发需要做的工作 57

  3.2 android移植 59

  3.2.1 移植的任务 60

  3.2.2 移植的内容 60

  3.2.3 驱动开发的任务 61

  3.3 android对linux的改造 61

  3.3.1 android对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.1 hal层的发展 84

  4.1.2 过去和现在的区别 86

  4.2 分析hal层源代码 86

  4.2.1 分析hal moudle 86

  4.2.2 分析mokoid工程 89

  4.3 总结hal层的使用方法 98

  4.4 传感器在hal层的表现 101

  4.4.1 hal层的sensor代码 102

  4.4.2 总结sensor编程的流程 104

  4.4.3 分析sensor源代码看android api 与硬件平台的衔接 104

  4.5 移植总结 116

  4.5.1 移植各个android部件的方式 116

  4.5.2 移植技巧之一——不得不说的辅助工作 117

  第5章 goldfish下的驱动解析 125

  5.1 staging驱动 125

  5.1.1 staging驱动概述 125

  5.1.2 binder驱动程序 126

  5.1.3 logger驱动程序 135

  5.1.4 lowmemorykiller组件 136

  5.1.5 timed output驱动程序 137

  5.1.6 timed gpio驱动程序 139

  5.1.7 ram console驱动程序 139

  5.2 wakelock和early_suspend 140

  5.2.1 wakelock和early_suspend的原理 140

  5.2.2 android休眠 141

  5.2.3 android唤醒 144

  5.3 ashmem驱动程序 145

  5.4 pmem驱动程序 148

  5.5 alarm驱动程序 149

  5.5.1 alarm简析 149

  5.5.2 alarm驱动程序的实现 150

  5.6 usb gadget驱动程序 151

  5.7 android paranoid驱动程序 153

  5.8 goldfish设备驱动 154

  5.8.1 framebuffer驱动 155

  5.8.2 键盘驱动 159

  5.8.3 实时时钟驱动程序 160

  5.8.4 tty终端驱动程序 161

  5.8.5 nandflash驱动程序 162

  5.8.6 mmc驱动程序 162

  5.8.7 电池驱动程序 162

  第6章 msm内核和驱动解析 164

  6.1 msm基础 164

  6.1.1 常见msm处理器产品 164

  6.1.2 snapdragon内核介绍 165

  6.2 移植msm内核简介 166

  6.3 移植msm 168

  6.3.1 makefile文件 168

  6.3.2 驱动和组件 170

  6.3.3 设备驱动 172

  6.3.4 高通特有的组件 174

  第7章 omap内核和驱动解析 177

  7.1 omap基础 177

  7.1.1 omap简析 177

  7.1.2 常见omap处理器产品 177

  7.1.3 开发平台 178

  7.2 omap内核 178

  7.3 移植omap体系结构 180

  7.3.1 移植omap平台 180

  7.3.2 移植omap处理器 183

  7.4 移植android专用驱动和组件 188

  7.5 omap的设备驱动 190

  第8章 显示系统驱动应用 195

  8.1 显示系统介绍 195

  8.1.1 android的版本 195

  8.1.2 不同版本的显示系统 195

  8.2 移植和调试前的准备 196

  8.2.1 framebuffer驱动程序 196

  8.2.2 硬件抽象层 198

  8.3 实现显示系统的驱动程序 210

  8.3.1 goldfish中的framebuffer驱动程序 210

  8.3.2 使用gralloc模块的驱动程序 214

  8.4 msm高通处理器中的显示驱动实现 224

  8.4.1 msm中的framebuffer驱动程序 225

  8.4.2 msm中的gralloc驱动程序 227

  8.5 omap处理器中的显示驱动实现 235

  第9章 输入系统驱动应用 239

  9.1 输入系统介绍 239

  9.1.1 android输入系统结构元素介绍 239

  9.1.2 移植android输入系统时的工作 240

  9.2 input(输入)驱动 241

  9.3 模拟器的输入驱动 256

  9.4 msm高通处理器中的输入驱动实现 257

  9.4.1 触摸屏驱动 257

  9.4.2 按键和轨迹球驱动 264

  9.5 omap处理器平台中的输入驱动实现 266

  9.5.1 触摸屏驱动 267

  9.5.2 键盘驱动 267

  第10章 振动器系统驱动 269

  10.1 振动器系统结构 269

  10.1.1 硬件抽象层 271

  10.1.2 jni框架部分 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.2 media库中的audio框架 281

  11.2.3 本地代码 284

  11.2.4 jni代码 288

  11.2.5 java代码 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.5 msm平台实现audio驱动系统 298

  11.5.1 实现audio驱动程序 298

  11.5.2 实现硬件抽象层 299

  11.6 oss平台实现audio驱动系统 304

  11.6.1 oss驱动程序介绍 304

  11.6.2 mixer 305

  11.7 alsa平台实现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.1 overlay系统硬件抽象层的接口 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 系统层调用overlay hal的架构 342

  12.6.1 调用overlay hal的架构的流程 342

  12.6.2 s3c6410 android overlay的测试代码 346

  第13章 openmax多媒体框架 349

  13.1 openmax基本层次结构 349

  13.2 分析openmax框架构成 350

  13.2.1 openmax总体层次结构 350

  13.2.2 openmax il层的结构 351

  13.2.3 android中的openmax 354

  13.3 实现openmax il层接口 354

  13.3.1 openmax il层的接口 354

  13.3.2 在openmax il层中需要做什么 361

  13.3.3 研究android中的openmax适配层 361

  13.4 在omap平台实现openmax il 363

  13.4.1 实现文件 364

  13.4.2 分析ti openmax il的核心 365

  13.4.3 实现ti openmax il组件实例 368

  第14章 多媒体插件框架 373

  14.1 android多媒体插件 373

  14.2 需要移植的内容 374

  14.3 opencore引擎 375

  14.3.1 opencore层次结构 375

  14.3.2 opencore代码结构 376

  14.3.3 opencore编译结构 377

  14.3.4 opencore oscl 381

  14.3.5 实现opencore中的openmax部分 383

  14.3.6 opencore的扩展 398

  14.4 stagefright引擎 404

  14.4.1 stagefright代码结构 404

  14.4.2 stagefright实现openmax接口 405

  14.4.3 video buffer传输流程 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.1 camera系统的结构 430

  16.2 需要移植的内容 433

  16.3 移植和调试 433

  16.3.1 v4l2驱动程序 433

  16.3.2 硬件抽象层 441

  16.4 实现camera系统的硬件抽象层 446

  16.4.1 java程序部分 446

  16.4.2 camera的java本地调用部分 447

  16.4.3 camera的本地库libui.so 448

  16.4.4 camera服务libcameraservice.so449

  16.5 msm平台实现camera系统 454

  16.6 omap平台实现camera系统 457

  第17章 wi-fi系统、蓝牙系统和gps系统 459

  17.1 wi-fi系统 459

  17.1.1 wi-fi系统的结构 459

  17.1.2 需要移植的内容 461

  17.1.3 移植和调试 461

  17.1.4 omap平台实现wi-fi 469

  17.1.5 配置wi-fi的流程 471

  17.1.6 具体演练——在android下实现ethernet 473

  17.2 蓝牙系统 475

  17.2.1 蓝牙系统的结构 475

  17.2.2 需要移植的内容 477

  17.2.3 具体移植 478

  17.2.4 msm平台的蓝牙驱动 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.2 ril接口 504

  18.4 电话系统实现流程分析 507

  18.4.1 初始启动流程 507

  18.4.2 request流程 509

  18.4.3 response流程 512

  第19章 其他系统 514

  19.1 alarm警报器系统 514

  19.1.1 alarm系统的结构 514

  19.1.2 需要移植的内容 515

  19.1.3 移植和调试 516

  19.1.4 模拟器环境的具体实现 518

  19.1.5 msm平台实现alarm 518

  19.2 lights光系统 519

  19.2.1 lights光系统的结构 520

  19.2.2 需要移植的内容 521

  19.2.3 移植和调试 521

  19.2.4 msm平台实现光系统 523

  19.3 battery电池系统 524

  19.3.1 battery系统的结构 524

  19.3.2 需要移植的内容 526

  19.3.3 移植和调试 526

  19.3.4 在模拟器中实现电池系统 529

下载地址

相关标准

下载声明

  • 本站资源均为RAR/ZIP 格式压缩,为确保资源能够正常使用,请安装【WinRAR】等进行解压;
  • 解压格式为PDF的,推荐使用【Adobe Reader 8.0】以上版本进行阅读;
  • 本站资料均为网上收集,若无意中侵犯了您的版权,请与我们联系;
  • 为防止未经授权的盗链及采集,下载地址延迟显示,敬请理解;

猜你喜欢