Android底层驱动分析和移植

Android底层驱动分析和移植
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: ,
2015-07
版次: 1
ISBN: 9787302397458
定价: 96.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 796页
字数: 1530千字
正文语种: 简体中文
49人买过
  •   本书内容分为 3篇,共 22章,循序渐进地讲解了 Android底层系统中的典型驱动方面的知识。本书从获取源码和源码结构分析讲起,依次讲解了基础知识篇、Android专有驱动篇和典型驱动移植篇 3部分的基本知识。在讲解每一个驱动时,从 Android系统的架构开始讲起,从内核分析到具体的驱动实现,再从 JNI层架构分析到 Java应用层的接口运用,最后到典型驱动系统移植和开发,彻底剖析了每一个典型驱动系统的完整实现流程。本书几乎涵盖了所有 Android底层驱动的内容,讲解方法通俗易懂,内容翔实,不但适合应用高手的学习,也特别有利于初学者学习和消化。
      本书适合作为 Android驱动开发者、Linux开发人员、Android底层学习人员、Android爱好者、Android源码分析人员、Android应用开发人员的学习用书,也可以作为相关培训学校和大专院校相关专业的教学用书。 第 1篇 基础知识篇
    第 1章 Android底层开发基础 ....................... 2
    1.1 Android系统介绍 ...................................... 2
    1.2 Android系统架构介绍 .............................. 2
    1.3 获取 Android源码 ..................................... 5
    1.5 编译源码 .................................................. 20
    第 2章 Android驱动开发基础 ..................... 28
    2.1 驱动程序基础 .......................................... 28
    2.2 Linux开发基础 ........................................ 30
    2.3 Linux内核结构 ........................................ 35
    2.4 分析 Linux内核源码 ............................... 40
    2.5 学习 Linux内核的方法 ........................... 50
    2.6 Linux中的 3类驱动程序 ........................ 54
    2.7 Android系统移植基础 ............................ 65
    2.8 内核空间和用户空间之间的接口 .......... 67
    2.9 编写 JNI方法 .......................................... 72
    第 3章主流内核系统解析............................ 76
    3.1 Goldfish内核和驱动解析 ....................... 76
    3.2 MSM内核和驱动架构 ............................ 85
    第 2篇 Android专有驱动篇
    第 4章分析硬件抽象层 ............................... 98
    4.1 HAL基础 ................................................. 98
    4.2 分析 HAL module架构 ......................... 101
    4.3 分析文件 hardware.c .............................. 103
    4.4 分析硬件抽象层的加载过程 ................ 106
    4.5 分析硬件访问服务 ................................ 109
    4.6 分析 Mokoid实例 .................................. 111
    4.7 HAL和系统移植 ................................... 120
    4.8 开发自己的 HAL驱动程序 .................. 126
    第 5章 Binder通信驱动详解 ...................... 130
    5.1分析 Binder驱动程序 ........................... 130
    5.2 Binder封装库驱动 ................................ 153
    5.3 初始化 Java层 Binder框架 .................. 160
    5.4 实体对象 binder_node的驱动 .............. 163
    5.5 本地对象 BBinder驱动 ......................... 167
    5.6 引用对象 binder_ref驱动 ...................... 177
    5.7 代理对象 BpBinder驱动 ....................... 180
    第 6章 Logger驱动架构详解 .................... 185
    6.1 分析 Logger驱动程序 ........................... 185
    6.2 日志库 Liblog驱动 ................................ 201
    6.3 日志写入接口驱动 ................................ 206
    第 7章 Ashmem驱动详解......................... 217
    7.1 分析 Ashmem驱动程序 ........................ 217
    7.2 C++访问接口层 ..................................... 231
    7.3 实现 Java访问的接口层 ....................... 243
    7.4 实战演练——读取内核空间的数据 ..... 247
    第 8章 搭建测试环境 ................................. 250
    8.1 搭建 S3C6410开发环境 ....................... 250
    8.2 其他开发环境介绍 ................................ 257
    8.3 测试驱动的方法 .................................... 259
    第 9章 低内存管理驱动 ............................. 266
    9.1 OOM机制 .............................................. 266
    9.2 Android系统的 Low Memory Killer 架构机制 ....... 273
    9.3 Low Memory Killer驱动详解 ............... 274
    9.4 实战演练——从内存池获取对象 ......... 280
    9.5 实战演练——使用用户程序读取内核空间的数据 ....... 282
    第 3篇 典型驱动移植篇
    第 10章 电源管理驱动 .............................. 286
    10.1 Power Management架构基础 ............. 286
    10.2 分析 Framework层 .............................. 287
    10.3 JNI层架构分析 ................................... 309
    10.4 Kernel(内核)层架构分析................ 311
    10.5 wakelock和 early_suspend .................. 319
    10.6 Battery电池系统架构和管理 .............. 323
    10.7 JobScheduler节能调度机制 ................ 331
    第 11章 PMEM内存驱动架构 ................... 339
    11.1 PMEM初步 ......................................... 339
    11.2 PMEM驱动架构.................................. 341
    11.3 用户空间接口 ...................................... 367
    11.4 实战演练——将 PMEM加入到内核中 ............ 370
    11.5 实战演练——将 PMEM加入到内核中 ............. 372
    11.6 实战演练—— PMEM在 Camera中的应用 ...... 373
    11.7 实战演练—— PMEM的移植与测试 ... 375
    第 12章调试机制驱动 Ram Console ........ 378
    12.1 Ram Console介绍 ................................ 378
    12.2 实现 Ram Console................................ 378
    第 13章 USB Gadget驱动 ........................ 389
    13.1 分析 Linux内核的 USB驱动程序 ..... 389
    13.2 USB Gadget驱动架构详解 ................. 401
    13.3 实战演练—— USB驱动例程分析 ...... 437
    13.4 实战演练 .............................................. 450
    第 14章 Time Device驱动 ........................ 453
    14.1 Timed Output驱动架构 ....................... 453
    实战演练——实现设备的读写操作..........460
    14.2 Timed Gpio驱动架构 .......................... 461
    第 15章 警报器系统驱动 Alarm ................. 467
    15.1 Alarm系统基础 ................................... 467
    15.2 RTC驱动程序架构 .............................. 468
    15.3 Alarm驱动架构 ................................... 469
    15.4 JNI层详解 ........................................... 491
    15.5 Java层详解 .......................................... 493
    15.6 模拟器环境的具体实现 ...................... 503
    15.7 实战演练 .............................................. 504
    第 16章 振动器驱动架构和移植 ................ 512
    16.1 振动器系统架构 .................................. 512
    16.2 硬件抽象层架构 .................................. 513
    16.3 JNI层架构 ........................................... 514
    16.4 Java层架构 .......................................... 515
    16.5 实战演练——移植振动器系统 ........... 519
    16.6 实战演练——在 MSM平台实现振动器驱动 ........... 520
    16.7 实战演练——在 MTK平台实现振动器驱动 ............ 523
    16.8 实战演练——移植振动器驱动 ........... 526
    第 17章 输入系统驱动 ............................... 527
    17.1 输入系统架构分析 .............................. 527
    17.2 移植输入系统驱动的方法 .................. 528
    17.3 Input(输入)系统驱动详解 .............. 529
    17.4 硬件抽象层详解 .................................. 551
    17.5 实战演练 .............................................. 561
    第 18章 LCD显示驱动.............................. 573
    18.1 LCD系统介绍 ..................................... 573
    18.2 FrameBuffer内核层详解 ..................... 573
    18.3 硬件抽象层详解 .................................. 600
    18.4 Goldfish中的 FrameBuffer驱动程序详解 ........... 607
    18.5 使用 Gralloc模块的驱动程序 ............ 610
    18.6 MSM高通处理器中的显示驱动 ........ 620
    18.7 MSM中的 Gralloc驱动程序详解 ...... 623
    18.8 OMAP处理器中的显示驱动实现 ...... 630
    18.9 实战演练 .............................................. 633
    第 19章 音频系统驱动 .............................. 664
    19.1 音频系统架构基础 .............................. 664
    19.2 音频系统层次详解 .............................. 668
    19.3 移植 Audio系统 .................................. 672
    19.4 实战演练——在 MSM平台实现 Audio驱动 .......... 680
    19.5 实战演练——在 OSS平台实现 Audio驱动 ............. 684
    19.6 实战演练——在 ALSA平台实现 Audio系统 ........... 692
    第 20章 Overlay系统驱动详解 .................. 710
    20.1 视频输出系统结构 .............................. 710
    20.2 移植 Overlay系统 ............................... 711
    20.3 硬件抽象层详解 .................................. 711
    20.4 实现 Overlay硬件抽象层 ................... 715
    20.5 实战演练——在 OMAP平台实现 Overlay系统 ......... 717
    20.6 实战演练——在系统层调用 Overlay HAL .................... 724
    第 21章 照相机驱动 .................................. 729
    21.1 Camera系统的结构 ............................. 729
    21.2 移植 Camera系统 ................................ 737
    21.3 实战演练——在 MSM平台实现 Camera驱动 .......... 747
    21.4 实战演练——在 OMAP平台实现 Camera驱动 ......... 750
    21.5 Android实现 S5PV210 FIMC 驱动 ............. 751
    第 22章 蓝牙系统驱动 .............................. 764
    22.1 Android系统中的蓝牙模块 ................ 764
    22.3 低功耗蓝牙协议栈详解 ...................... 767
    22.4 Android中的 BlueDroid ...................... 769
    22.5 Android蓝牙模块的运作流程 ............ 783
  • 内容简介:
      本书内容分为 3篇,共 22章,循序渐进地讲解了 Android底层系统中的典型驱动方面的知识。本书从获取源码和源码结构分析讲起,依次讲解了基础知识篇、Android专有驱动篇和典型驱动移植篇 3部分的基本知识。在讲解每一个驱动时,从 Android系统的架构开始讲起,从内核分析到具体的驱动实现,再从 JNI层架构分析到 Java应用层的接口运用,最后到典型驱动系统移植和开发,彻底剖析了每一个典型驱动系统的完整实现流程。本书几乎涵盖了所有 Android底层驱动的内容,讲解方法通俗易懂,内容翔实,不但适合应用高手的学习,也特别有利于初学者学习和消化。
      本书适合作为 Android驱动开发者、Linux开发人员、Android底层学习人员、Android爱好者、Android源码分析人员、Android应用开发人员的学习用书,也可以作为相关培训学校和大专院校相关专业的教学用书。
  • 目录:
    第 1篇 基础知识篇
    第 1章 Android底层开发基础 ....................... 2
    1.1 Android系统介绍 ...................................... 2
    1.2 Android系统架构介绍 .............................. 2
    1.3 获取 Android源码 ..................................... 5
    1.5 编译源码 .................................................. 20
    第 2章 Android驱动开发基础 ..................... 28
    2.1 驱动程序基础 .......................................... 28
    2.2 Linux开发基础 ........................................ 30
    2.3 Linux内核结构 ........................................ 35
    2.4 分析 Linux内核源码 ............................... 40
    2.5 学习 Linux内核的方法 ........................... 50
    2.6 Linux中的 3类驱动程序 ........................ 54
    2.7 Android系统移植基础 ............................ 65
    2.8 内核空间和用户空间之间的接口 .......... 67
    2.9 编写 JNI方法 .......................................... 72
    第 3章主流内核系统解析............................ 76
    3.1 Goldfish内核和驱动解析 ....................... 76
    3.2 MSM内核和驱动架构 ............................ 85
    第 2篇 Android专有驱动篇
    第 4章分析硬件抽象层 ............................... 98
    4.1 HAL基础 ................................................. 98
    4.2 分析 HAL module架构 ......................... 101
    4.3 分析文件 hardware.c .............................. 103
    4.4 分析硬件抽象层的加载过程 ................ 106
    4.5 分析硬件访问服务 ................................ 109
    4.6 分析 Mokoid实例 .................................. 111
    4.7 HAL和系统移植 ................................... 120
    4.8 开发自己的 HAL驱动程序 .................. 126
    第 5章 Binder通信驱动详解 ...................... 130
    5.1分析 Binder驱动程序 ........................... 130
    5.2 Binder封装库驱动 ................................ 153
    5.3 初始化 Java层 Binder框架 .................. 160
    5.4 实体对象 binder_node的驱动 .............. 163
    5.5 本地对象 BBinder驱动 ......................... 167
    5.6 引用对象 binder_ref驱动 ...................... 177
    5.7 代理对象 BpBinder驱动 ....................... 180
    第 6章 Logger驱动架构详解 .................... 185
    6.1 分析 Logger驱动程序 ........................... 185
    6.2 日志库 Liblog驱动 ................................ 201
    6.3 日志写入接口驱动 ................................ 206
    第 7章 Ashmem驱动详解......................... 217
    7.1 分析 Ashmem驱动程序 ........................ 217
    7.2 C++访问接口层 ..................................... 231
    7.3 实现 Java访问的接口层 ....................... 243
    7.4 实战演练——读取内核空间的数据 ..... 247
    第 8章 搭建测试环境 ................................. 250
    8.1 搭建 S3C6410开发环境 ....................... 250
    8.2 其他开发环境介绍 ................................ 257
    8.3 测试驱动的方法 .................................... 259
    第 9章 低内存管理驱动 ............................. 266
    9.1 OOM机制 .............................................. 266
    9.2 Android系统的 Low Memory Killer 架构机制 ....... 273
    9.3 Low Memory Killer驱动详解 ............... 274
    9.4 实战演练——从内存池获取对象 ......... 280
    9.5 实战演练——使用用户程序读取内核空间的数据 ....... 282
    第 3篇 典型驱动移植篇
    第 10章 电源管理驱动 .............................. 286
    10.1 Power Management架构基础 ............. 286
    10.2 分析 Framework层 .............................. 287
    10.3 JNI层架构分析 ................................... 309
    10.4 Kernel(内核)层架构分析................ 311
    10.5 wakelock和 early_suspend .................. 319
    10.6 Battery电池系统架构和管理 .............. 323
    10.7 JobScheduler节能调度机制 ................ 331
    第 11章 PMEM内存驱动架构 ................... 339
    11.1 PMEM初步 ......................................... 339
    11.2 PMEM驱动架构.................................. 341
    11.3 用户空间接口 ...................................... 367
    11.4 实战演练——将 PMEM加入到内核中 ............ 370
    11.5 实战演练——将 PMEM加入到内核中 ............. 372
    11.6 实战演练—— PMEM在 Camera中的应用 ...... 373
    11.7 实战演练—— PMEM的移植与测试 ... 375
    第 12章调试机制驱动 Ram Console ........ 378
    12.1 Ram Console介绍 ................................ 378
    12.2 实现 Ram Console................................ 378
    第 13章 USB Gadget驱动 ........................ 389
    13.1 分析 Linux内核的 USB驱动程序 ..... 389
    13.2 USB Gadget驱动架构详解 ................. 401
    13.3 实战演练—— USB驱动例程分析 ...... 437
    13.4 实战演练 .............................................. 450
    第 14章 Time Device驱动 ........................ 453
    14.1 Timed Output驱动架构 ....................... 453
    实战演练——实现设备的读写操作..........460
    14.2 Timed Gpio驱动架构 .......................... 461
    第 15章 警报器系统驱动 Alarm ................. 467
    15.1 Alarm系统基础 ................................... 467
    15.2 RTC驱动程序架构 .............................. 468
    15.3 Alarm驱动架构 ................................... 469
    15.4 JNI层详解 ........................................... 491
    15.5 Java层详解 .......................................... 493
    15.6 模拟器环境的具体实现 ...................... 503
    15.7 实战演练 .............................................. 504
    第 16章 振动器驱动架构和移植 ................ 512
    16.1 振动器系统架构 .................................. 512
    16.2 硬件抽象层架构 .................................. 513
    16.3 JNI层架构 ........................................... 514
    16.4 Java层架构 .......................................... 515
    16.5 实战演练——移植振动器系统 ........... 519
    16.6 实战演练——在 MSM平台实现振动器驱动 ........... 520
    16.7 实战演练——在 MTK平台实现振动器驱动 ............ 523
    16.8 实战演练——移植振动器驱动 ........... 526
    第 17章 输入系统驱动 ............................... 527
    17.1 输入系统架构分析 .............................. 527
    17.2 移植输入系统驱动的方法 .................. 528
    17.3 Input(输入)系统驱动详解 .............. 529
    17.4 硬件抽象层详解 .................................. 551
    17.5 实战演练 .............................................. 561
    第 18章 LCD显示驱动.............................. 573
    18.1 LCD系统介绍 ..................................... 573
    18.2 FrameBuffer内核层详解 ..................... 573
    18.3 硬件抽象层详解 .................................. 600
    18.4 Goldfish中的 FrameBuffer驱动程序详解 ........... 607
    18.5 使用 Gralloc模块的驱动程序 ............ 610
    18.6 MSM高通处理器中的显示驱动 ........ 620
    18.7 MSM中的 Gralloc驱动程序详解 ...... 623
    18.8 OMAP处理器中的显示驱动实现 ...... 630
    18.9 实战演练 .............................................. 633
    第 19章 音频系统驱动 .............................. 664
    19.1 音频系统架构基础 .............................. 664
    19.2 音频系统层次详解 .............................. 668
    19.3 移植 Audio系统 .................................. 672
    19.4 实战演练——在 MSM平台实现 Audio驱动 .......... 680
    19.5 实战演练——在 OSS平台实现 Audio驱动 ............. 684
    19.6 实战演练——在 ALSA平台实现 Audio系统 ........... 692
    第 20章 Overlay系统驱动详解 .................. 710
    20.1 视频输出系统结构 .............................. 710
    20.2 移植 Overlay系统 ............................... 711
    20.3 硬件抽象层详解 .................................. 711
    20.4 实现 Overlay硬件抽象层 ................... 715
    20.5 实战演练——在 OMAP平台实现 Overlay系统 ......... 717
    20.6 实战演练——在系统层调用 Overlay HAL .................... 724
    第 21章 照相机驱动 .................................. 729
    21.1 Camera系统的结构 ............................. 729
    21.2 移植 Camera系统 ................................ 737
    21.3 实战演练——在 MSM平台实现 Camera驱动 .......... 747
    21.4 实战演练——在 OMAP平台实现 Camera驱动 ......... 750
    21.5 Android实现 S5PV210 FIMC 驱动 ............. 751
    第 22章 蓝牙系统驱动 .............................. 764
    22.1 Android系统中的蓝牙模块 ................ 764
    22.3 低功耗蓝牙协议栈详解 ...................... 767
    22.4 Android中的 BlueDroid ...................... 769
    22.5 Android蓝牙模块的运作流程 ............ 783
查看详情
相关图书 / 更多
Android底层驱动分析和移植
Animate 2022二维动画制作案例教程(全视频微课版)
董佳佳、程远、金洪宇
Android底层驱动分析和移植
Android性能优化入门与实战
张世欣(拭心)
Android底层驱动分析和移植
Android图形显示系统
李先儒
Android底层驱动分析和移植
Animate CC 动画制作案例教程(第2版)
刘鹏程
Android底层驱动分析和移植
Android积木式编程开发:AppInventor2018离线中文版(第2版)
刘载兴、张燕燕 编
Android底层驱动分析和移植
Anisha Accidental Detective
Serena Patel 著;Emma McCann 绘
Android底层驱动分析和移植
Android自动化测试实战:Python+Appium +unittest
Storm 梁培峰
Android底层驱动分析和移植
AnEssayonthePrincipleofPopulationandOthe
Malthus, Thomas
Android底层驱动分析和移植
Android移动应用基础教程(Android Studio)(第3版)
黑马程序员
Android底层驱动分析和移植
Ansys Workbench 2022中文版有限元分析从入门到精通
CAD/CAM/CAE技术联盟
Android底层驱动分析和移植
Animate 2022中文版入门与提高
胡仁喜、王昌盛、李华
Android底层驱动分析和移植
Ansys Fluent中文版流场分析从入门到精通
曾建邦 单丰武