您好,欢迎来到聚文网。 登录 免费注册
Android板级支持与硬件相关子系统

Android板级支持与硬件相关子系统

  • 字数: 672.00千字
  • 装帧: 平装
  • 出版社: 电子工业出版社
  • 作者: 韩超 等 著作
  • 出版日期: 2013-10-01
  • 商品条码: 9787121213489
  • 版次: 1
  • 开本: 16开
  • 页数: 407
  • 出版年份: 2013
定价:¥59 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
内容简介
本书以硬件相关的子系统为核心,提供具有完整知识体系android系统级的开发知识。本书选定了几个流行的硬件作为参考平台,读者可以很容易地得到硬件和开源代码。本书突出了硬件相关的子系统的特点,展示了几个不同的硬件平台的内核结构,介绍了每个子系统的总体结构和bsp结构、每个子系统的bsp的实现要点,以及具体硬件在linux内核与android硬件抽象层相关的实现。
目录
第1章  Android的BSP和子系统开发 1
1.1  Android板级支持工作概述  1
1.1.1  Android的开放源
代码工程和BSP  1
1.1.2  Android的系统结构  1
1.2  Android的开发环境和源代码  2
1.2.1  Android的开发环境  2
1.2.2  源代码仓库  3
1.3  BSP模块和相关子系统  5
1.3.1  Android的BSP  5
1.3.2  BSP和硬件相关子系统  6
1.3.3  不同类型的Android设备  7
第2章  Android系统BSP部分工作  8
2.1  Android的BSP部分
工作概述  8
2.2  BSP的全局部分  8
2.2.1  源代码工程板级别
支持部分  9
2.2.2  硬件相关的代码改动  11
2.3  Android的Linux操作系统  14
2.3.1  Android中的Linux操作
系统的特定内容  14
2.3.2  Android的Linux的
基本支持  15
2.3.3  Android各个硬件设备的
驱动程序  16
2.4  Android的硬件抽象层  17
2.4.1  硬件抽象层的地位和功能  17
2.4.2  硬件抽象层接口方式  18
2.5  各个子系统的移植方式  22
2.5.1  Android 2.3中的实现方式  22
2.5.2  Android 2.2及之前的
实现方式  23
2.5.3  Android 4.x中的实现方式  24
2.6  与硬件抽象层相关的
框架层目录  24
2.6.1  一直保持不变的代码  24
2.6.2  框架层的本地代码  24
2.6.3  音频视频相关的代码  25
第3章  Android的Linux内核和驱动  26
3.1  Android的Linux内核概述  26
3.1.1  几个内核工程  26
3.1.2  内核工程的编译工具链  26
3.1.3  用户空间关注的内容  27
3.2  Android专用驱动和组件  27
3.2.1  电源管理部分  27
3.2.2  staging中的组件和
驱动程序  28
3.2.3  几个主要核心模块  32
3.2.4  辅助的模块和改动  35
3.3  goldfish平台的内核和驱动  37
3.3.1  goldfish平台和内核概述  37
3.3.2  goldfish体系结构移植  38
3.3.3  goldfish的相关设备驱动  40
3.4  高通MSM平台的
内核和驱动  42
3.4.1  平台概述  42
3.4.2  体系结构移植  43
3.4.3  设备驱动程序  43
3.5  三星平台的内核和驱动  44
3.5.1  平台概述  44
3.5.2  体系结构移植  45
3.5.3  驱动程序部分  45
3.6  德州仪器OMAP平台的
内核和驱动  46
3.6.1  平台概述  46
3.6.2  体系结构移植  47
3.6.3  驱动程序部分  47
第4章  显示系统  49
4.1  显示系统概述  49
4.2  显示子系统结构  50
4.2.1  总体结构  50
4.2.2  核心结构和UI库  51
4.2.3  Surface本地部分  54
4.2.4  Java层的Surface的处理  56
4.3  显示BSP的结构  57
4.3.1  Framebuffer驱动程序  57
4.3.2  gralloc硬件抽象层  59
4.4  显示BSP的实现  61
4.4.1  模拟器显示系统的实现  61
4.4.2  Nexus One系统的实现  68
4.4.3  Nexus S系统的实现  72
4.4.4  Galaxy Nexus系统的实现  73
第5章  用户输入系统  75
5.1  用户输入系统概述  75
5.2  Android 2.3用户输入子系统  76
5.2.1  总体结构  76
5.2.2  本地框架的几个部分  77
5.2.3  JNI  80
5.2.4  Java层的部分  81
5.3  Android 4.2的用户输入
子系统结构  81
5.3.1  总体结构  81
5.3.2  InputManagerService的
实现  82
5.4  用户输入BSP的结构  84
5.4.1  Input驱动程序  84
5.4.2  输入配置文件  87
5.5  用户输入BSP的实现  89
5.5.1  模拟器中的实现  89
5.5.2  Nexus One系统中的实现  90
5.5.3  Nexus S系统中的实现  93
5.5.4  Galaxy Nexus系统中的
实现  94
第6章  传感器系统  96
6.1  传感器系统概述  96
6.2  传感器子系统的结构  97
6.2.1  总体结构  97
6.2.2  本地框架层  98
6.2.3  传感器系统的JNI  99
6.2.4  传感器系统的Java层  100
6.3  传感器BSP的结构  101
6.3.1  驱动程序  101
6.3.2  硬件抽象层的内容  102
6.4  传感器BSP的实现  104
6.4.1  仿真器的实现  104
6.4.2  Nexus One系统实现  106
6.4.3  Nexus S系统实现  107
6.4.4  Galaxy Nexus系统实现  109
第7章  音频系统  111
7.1  音频系统概述  111
7.2  音频子系统结构  112
7.2.1  总体结构  112
7.2.2  Audio的本地框架层  113
7.2.3  Audio系统的JNI和
Java层  114
7.3  音频BSP的结构  116
7.3.1  Audio驱动程序  116
7.3.2  硬件抽象层的内容  120
7.4  音频BSP的实现  124
7.4.1  通用的Audio系统实现  124
7.4.2  基于OSS的实现方式  129
7.4.3  基于ALSA的实现方式  130
7.4.4  MSM平台和Nexus One
系统的实现  132
7.4.5  Nexus S系统的实现  137
第8章  视频叠加输出系统  140
8.1  视频叠加输出系统概述  140
8.2  视频输出子系统的结构  141
8.2.1  Overlay系统的结构  141
8.2.2  本地框架层  142
8.3  视频叠加输出BSP结构  144
8.3.1  移植的内容  144
8.3.2  驱动程序  144
8.3.3  硬件抽象层的内容  144
8.3.4  视频输出的调用者  146
8.3.5  使用Overlay的
数据流情况  148
8.4  视频输出BSP的实现  149
8.4.1  骨架实现  149
8.4.2  OMAP系统的实现  151
8.4.3  Nexus S系统的实现  156
第9章  照相机系统  159
9.1  照相机系统概述  159
9.2  照相机子系统的结构  160
9.2.1  照相机系统的结构  160
9.2.2  Camera的本地层  161
9.2.3  Camera的JNI和Java层  165
9.3  照相机BSP的结构  166
9.3.1  移植的内容  166
9.3.2  Video for 4 Linux
驱动程序  166
9.3.3  硬件抽象层的内容  168
9.3.4  照相机系统上下层的
关系  173
9.4  照相机BSP的实现  175
9.4.1  桩实现  175
9.4.2  Nexus One系统的Camera
实现  178
9.4.3  Nexus S系统的Camera
实现  180
第10章  OpenGL 3D引擎  184
10.1  OpenGL系统概述  184
10.2  OpenGL系统的结构  184
10.2.1  OpenGL和OpenGL ES的
标准结构  184
10.2.2  总体结构  186
10.2.3  OpenGL库的调用者  188
10.3  OpenGL BSP的结构  190
10.3.1  移植的内容  190
10.3.2  OpenGL移植层的接口  190
10.3.3  OpenGL的调用和测试  192
10.4  OpenGL BSP的实现  193
10.4.1  Android软件OpenGL的
实现  193
10.4.2  Nexus One系统的实现  195
10.4.3  Nexus S系统的实现  195
10.4.4  Galaxy Nexus系统的
实现  196
第11章  OpenMax引擎  197
11.1  OpenMax系统概述  197
11.2  OpenMax子系统结构  197
11.2.1  OpenMax系统的结构  197
11.2.2  Android中OpenMax的
适配层  201
11.3  OpenMax BSP的结构  203
11.3.1  OpenMax IL层的接口  203
11.3.2  Android的OpenMax  207
11.4  OpenMax BSP的实现  207
11.4.1  OpenMax IL实现的内容  207
11.4.2  OMAP3的OpenMax IL
实现的结构和机制  208
11.4.3  OMAP4的OpenMax IL
实现  213
第12章  位块复制  216
12.1  位块复制概述  216
12.2  位块复制子系统结构  216
12.2.1  总体结构  216
12.2.2  copybit的调用者  217
12.3  位块复制BSP的结构  218
12.3.1  驱动程序  218
12.3.2  硬件抽象层的接口  218
12.3.3  实现硬件抽象层  220
12.4  位块复制的实现  220
第13章  无线局域网系统  223
13.1  无线局域网系统概述  223
13.2  无线局域网子系统的结构  223
13.2.1  总体的结构  223
13.2.2  wpa_supplicant工程  225
13.2.3  WiFi本地适配库  227
13.2.4  WiFi的JNI部分  228
13.2.5  WiFi的Java层  228
13.3  无线局域网BSP的结构  229
13.3.1  协议和驱动程序  229
13.3.2  用户空间的内容  230
13.4  无线局域网BSP的实现  231
13.4.1  基于BCM4329的方案
(Nexus One和Nexus S)  231
13.4.2  OMAP平台的一个
典型实现  232
13.4.3  Galaxy Nexus的实现  234
第14章  蓝牙系统  237
14.1  蓝牙系统概述  237
14.2  蓝牙子系统的结构  237
14.2.1  蓝牙系统的结构  237
14.2.2  BlueZ  239
14.2.3  bluedroid库  241
14.2.4  蓝牙的JNI部分  241
14.2.5  蓝牙的Java部分  242
14.3  BSP的结构  243
14.3.1  协议和驱动程序  244
14.3.2  本地代码的配置部分  245
14.4  Android 4.2的蓝牙系统  246
14.4.1  系统结构  246
14.4.2  蓝牙硬件模块  246
14.4.3  蓝牙系统的本地层部分  252
14.4.4  BlueTooth包  252
14.5  BSP的实现  253
14.5.1  Nexus One系统的
蓝牙实现  253
14.5.2  Nexus S系统的
蓝牙实现  254
14.5.3  Galaxy Nexus系统的
蓝牙实现  255
第15章  定位系统  257
15.1  定位系统的概述  257
15.2  定位子系统的结构  257
15.2.1  总体结构  257
15.2.2  JNI部分  259
15.2.3  Java部分  260
15.3  定位BSP的结构  263
15.3.1  驱动程序  263
15.3.2  硬件抽象层的接口  264
15.3.3  实现硬件抽象层  266
15.4  定位BSP的实现  266
15.4.1  仿真器的GPS实现  266
15.4.2  Nexus One系统的实现  268
15.4.3  Nexus S系统的实现  269
15.4.4  Galaxy Nexus系统的
实现  270
第16章  电话系统  271
16.1  电话系统概述  271
16.2  电话子系统的结构  271
16.2.1  总体结构  271
16.2.2  rild层  273
16.2.3  Java层中的电话部分  275
16.3  电话BSP的结构  278
16.3.1  驱动程序  278
16.3.2  RIL实现库接口
(作为硬件抽象层)  280
16.4  电话BSP部分的实现  281
16.4.1  RIL的参考实现  281
16.4.2  数据连接部分  287
16.4.3  Mock RIL  288
第17章  警报器―实时时钟系统  290
17.1  警报器―实时时钟系统  290
17.2  警报器―实时时钟子
系统的结构  290
17.2.1  总体结构  290
17.2.2  JNI部分  291
17.2.3  Java部分  292
17.2.4  Android系统时间
方面的调用  292
17.3  警报器―实时时钟
BSP部分的结构  293
17.3.1  RTC驱动程序  293
17.3.2  Alarm驱动程序  294
17.4  警报器―实时时钟
BSP部分的实现  295
17.4.1  模拟器环境中的实现  295
17.4.2  MSM平台和Nexus One
系统的实现  295
17.4.3  Nexus S系统的实现  297
17.4.4  Galaxy Nexus系统的
实现  298
第18章  光系统  300
18.1  光系统概述  300
18.2  背光和指示灯子系统的
结构  300
18.2.1  总体结构  300
18.2.2  JNI部分  301
18.2.3  Java服务部分和
调用部分  302
18.3  背光和指示灯
BSP部分的结构  303
18.3.1  驱动程序  303
18.3.2  硬件抽象层的内容  304
18.4  背光和指示灯
BSP部分的实现  305
18.4.1  Nexus One系统的实现  305
18.4.2  Nexus S系统的实现  307
18.4.3  Galaxy Nexus 系统的
实现  308
第19章  振动器系统  311
19.1  振动器系统概述  311
19.2  振动器子系统的结构  311
19.2.1  振动器部分的结构  311
19.2.2  JNI部分  312
19.2.3  Java框架部分  313
19.3  振动器BSP部分的结构  313
19.3.1  驱动程序  313
19.3.2  硬件抽象层的内容  314
19.4  振动器BSP部分的实现  314
19.4.1  Nexus One系统的实现  315
19.4.2  Nexus S系统的实现  316
19.4.3  Galaxy Nexus  316
第20章  电池信息部分  318
20.1  电池信息部分  318
20.2  电池信息子系统的结构  318
20.2.1  电池系统部分的结构  318
20.2.2  JNI部分  319
20.2.3  Java部分  321
20.3  电池信息BSP部分的结构  321
20.4  电池信息BSP部分的实现  322
20.4.1  模拟器中的实现  322
20.4.2  Nexus One  323
20.4.3  Nexus S  324
20.4.4  Galaxy Nexus  325
第21章  Android 4.x的音频、
视频系统  326
21.1  Android 4.x的音频系统  326
21.1.1  音频系统的结构  326
21.1.2  音频框架层  327
21.1.3  音频BSP部分结构  327
21.2  Android 4.x音频的
BSP实现  330
21.2.1  主实现和策略实现  330
21.2.2  仿真器实现  330
21.2.3  A2DP实现  331
21.2.4  Galaxy Nexus的实现  332
21.3  Android 4.x照相机系统  336
21.3.1  照相机系统的结构  336
21.3.2  Camera的框架层  336
21.3.3  照相机BSP部分结构  339
21.4  Android 4.x照相机的
BSP实现  342
21.4.1  仿真器实现  342
21.4.2  Galaxy Nexus的实现  346
21.5  Android 4.x视频组合系统  349
21.5.1  视频组合系统结构  349
21.5.2  SurfaceFlinger对
视频组合的使用  350
21.5.3  视频组合BSP
部分结构  351
21.6  Android 4.x视频组合的
BSP实现  352
21.6.1  默认实现  352
21.6.2  Galaxy Nexus的
视频组合  352
第22章  Android 4.x近场通信系统  357
22.1  近场通信系统概述  357
22.2  近场通信子系统的结构  358
22.2.1  总体结构  358
22.2.2  NFC本地库  359
22.2.3  Android框架层的NFC
相关内容  360
22.2.4  NFC包  361
22.3  近场通信BSP的结构  365
22.3.1  NFC-NCI接口  365
22.3.2  NFC接口  366
22.4  近场通信BSP的实现  366
22.4.1  NCI-NFC的桩实现  366
22.4.2  NFC的桩实现  366
22.4.3  Galaxy Nexus 的
NFC实现  367
第23章  Android 4.2的电源控制  368
23.1  电源控制  368
23.2  电源控制的结构  368
23.2.1  总体结构  368
23.2.2  电源控制的使用  368
23.3  电源控制BSP的结构  369
23.4  电源控制BSP的实现  369
23.4.1  通用的电源控制实现  369
23.4.2  Galaxy Nexus的
电源控制实现  370
第24章  本地时间  372
24.1  本地时间子系统结构  372
24.1.1  本地时间的结构  372
24.1.2  本地时间的使用  372
24.2  本地时间BSP的结构  373
24.3  本地时间BSP的实现  373
第25章  Android 4.2密钥  375
25.1  密钥概述  375
25.2  安全和密钥子系统结构  376
25.2.1  安全和密钥的总体结构  376
25.2.2  keystore守护进程  376
25.2.3  android.security的内容  377
25.3  密钥的BSP部分的结构  379
25.4  密钥的BSP实现  380
25.4.1  通用的软件密钥实现  380
25.4.2  Galaxy Nexus 的
密钥实现  381
第26章  电源管理  384
26.1  Android电源管理  384
26.2  Android内核空间的
电源管理  385
26.2.1  总体结构  385
26.2.2  wakelock  386
26.2.3  wakelock的用户空间  388
26.2.4  earlysuspend部分  389
26.2.5  其他  391
26.3  Android用户空间的
电源管理  392
26.3.1  电源管理的本地库  392
26.3.2  电源管理的JNI库  393
26.3.3  电源管理的Java部分  393


















26.4  电源管理的策略  394
26.4.1  驱动程序的变化  394
26.4.2  用户空间的控制  396
第27章  恢复和升级  397
27.1  恢复和升级概述  397
27.1.1  Android的Recovery
系统的组成  397
27.1.2  Android的Recovery
系统的功能和运行流程  398
27.2  recovery系统  399
27.2.1  编译系统  399
27.2.2  init.rc脚本  400
27.2.3  Recovery可执行程序和
相关的库  401
27.3  Android系统交互的过程  405
27.3.1  Java部分  405
27.3.2  交互的场景  406

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网