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

Android板级支持与硬件相关子系统
作 者: 韩超
出版社: 电子工业出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 操作系统 计算机与互联网
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《Android板级支持与硬件相关子系统》作者简介

内容简介

本书以硬件相关的子系统为核心,提供具有完整知识体系Android系统级的开发知识。本书选定了几个流行的硬件作为参考平台,读者可以很容易地得到硬件和开源代码。本书突出了硬件相关的子系统的特点,展示了几个不同的硬件平台的内核结构,介绍了每个子系统的总体结构和BSP结构、每个子系统的BSP的实现要点,以及具体硬件在Linux内核与Android硬件抽象层相关的实现。本书适用于各类Android技术群体,也适用于嵌入式Linux的技术人员了解实际系统。作者根据丰富的开发经验和对Android系统发展5年的总结完成本书,希望为Android系统的开发者和学习者提供切实有效的帮助。

图书目录

第1章 Android的BSP和子系统开发

1.1 Android板级支持工作概述

1.1.1 Android的开放源代码工程和BSP

1.1.2 Android的系统结构

1.2 Android的开发环境和源代码

1.2.1 Android的开发环境

1.2.2 源代码仓库

1.3 BSP模块和相关子系统

1.3.1 Android的BSP

1.3.2 BSP和硬件相关子系统

1.3.3 不同类型的Android设备

第2章 Android系统BSP部分工作

2.1 Android的BSP部分工作概述

2.2 BSP的全局部分

2.2.1 源代码工程板级别支持部分

2.2.2 硬件相关的代码改动

2.3 Android的Linux操作系统

2.3.1 Android中的Linux操作系统的特定内容

2.3.2 Android的Linux的基本支持

2.3.3 Android各个硬件设备的驱动程序

2.4 Android的硬件抽象层

2.4.1 硬件抽象层的地位和功能

2.4.2 硬件抽象层接口方式

2.5 各个子系统的移植方式

2.5.1 Android 2.3中的实现方式

2.5.2 Android 2.2及之前的实现方式

2.5.3 Android 4.x中的实现方式

2.6 与硬件抽象层相关的框架层目录

2.6.1 一直保持不变的代码

2.6.2 框架层的本地代码

2.6.3 音频视频相关的代码

第3章 Android的Linux内核和驱动

3.1 Android的Linux内核概述

3.1.1 几个内核工程

3.1.2 内核工程的编译工具链

3.1.3 用户空间关注的内容

3.2 Android专用驱动和组件

3.2.1 电源管理部分

3.2.2 staging中的组件和驱动程序

3.2.3 几个主要核心模块

3.2.4 辅助的模块和改动

3.3 goldfish平台的内核和驱动

3.3.1 goldfish平台和内核概述

3.3.2 goldfish体系结构移植

3.3.3 goldfish的相关设备驱动

3.4 高通MSM平台的内核和驱动

3.4.1 平台概述

3.4.2 体系结构移植

3.4.3 设备驱动程序

3.5 三星平台的内核和驱动

3.5.1 平台概述

3.5.2 体系结构移植

3.5.3 驱动程序部分

3.6 德州仪器OMAP平台的内核和驱动

3.6.1 平台概述

3.6.2 体系结构移植

3.6.3 驱动程序部分

第4章 显示系统

4.1 显示系统概述

4.2 显示子系统结构

4.2.1 总体结构

4.2.2 核心结构和UI库

4.2.3 Surface本地部分

4.2.4 Java层的Surface的处理

4.3 显示BSP的结构

4.3.1 Framebuffer驱动程序

4.3.2 gralloc硬件抽象层

4.4 显示BSP的实现

4.4.1 模拟器显示系统的实现

4.4.2 Nexus One系统的实现

4.4.3 Nexus S系统的实现

4.4.4 Galaxy Nexus系统的实现

第5章 用户输入系统

5.1 用户输入系统概述

5.2 Android 2.3用户输入子系统

5.2.1 总体结构

5.2.2 本地框架的几个部分

5.2.3 JNI

5.2.4 Java层的部分

5.3 Android 4.2的用户输入子系统结构

5.3.1 总体结构

5.3.2 InputManagerService的实现

5.4 用户输入BSP的结构

5.4.1 Input驱动程序

5.4.2 输入配置文件

5.5 用户输入BSP的实现

5.5.1 模拟器中的实现

5.5.2 Nexus One系统中的实现

5.5.3 Nexus S系统中的实现

5.5.4 Galaxy Nexus系统中的实现

第6章 传感器系统

6.1 传感器系统概述

6.2 传感器子系统的结构

6.2.1 总体结构

6.2.2 本地框架层

6.2.3 传感器系统的JNI

6.2.4 传感器系统的Java层

6.3 传感器BSP的结构

6.3.1 驱动程序

6.3.2 硬件抽象层的内容

6.4 传感器BSP的实现

6.4.1 仿真器的实现

6.4.2 Nexus One系统实现

6.4.3 Nexus S系统实现

6.4.4 Galaxy Nexus系统实现

第7章 音频系统

7.1 音频系统概述

7.2 音频子系统结构

7.2.1 总体结构

7.2.2 Audio的本地框架层

7.2.3 Audio系统的JNI和Java层

7.3 音频BSP的结构

7.3.1 Audio驱动程序

7.3.2 硬件抽象层的内容

7.4 音频BSP的实现

7.4.1 通用的Audio系统实现

7.4.2 基于OSS的实现方式

7.4.3 基于ALSA的实现方式

7.4.4 MSM平台和Nexus One系统的实现

7.4.5 Nexus S系统的实现

第8章 视频叠加输出系统

8.1 视频叠加输出系统概述

8.2 视频输出子系统的结构

8.2.1 Overlay系统的结构

8.2.2 本地框架层

8.3 视频叠加输出BSP结构

8.3.1 移植的内容

8.3.2 驱动程序

8.3.3 硬件抽象层的内容

8.3.4 视频输出的调用者

8.3.5 使用Overlay的数据流情况

8.4 视频输出BSP的实现

8.4.1 骨架实现

8.4.2 OMAP系统的实现

8.4.3 Nexus S系统的实现

第9章 照相机系统

9.1 照相机系统概述

9.2 照相机子系统的结构

9.2.1 照相机系统的结构

9.2.2 Camera的本地层

9.2.3 Camera的JNI和Java层

9.3 照相机BSP的结构

9.3.1 移植的内容

9.3.2 Video for 4 Linux驱动程序

9.3.3 硬件抽象层的内容

9.3.4 照相机系统上下层的关系

9.4 照相机BSP的实现

9.4.1 桩实现

9.4.2 Nexus One系统的Camera实现

9.4.3 Nexus S系统的Camera实现

第10章 OpenGL 3D引擎

10.1 OpenGL系统概述

10.2 OpenGL系统的结构

10.2.1 OpenGL和OpenGL ES的标准结构

10.2.2 总体结构

10.2.3 OpenGL库的调用者

10.3 OpenGL BSP的结构

10.3.1 移植的内容

10.3.2 OpenGL移植层的接口

10.3.3 OpenGL的调用和测试

10.4 OpenGL BSP的实现

10.4.1 Android软件OpenGL的实现

10.4.2 Nexus One系统的实现

10.4.3 Nexus S系统的实现

10.4.4 Galaxy Nexus系统的实现

第11章 OpenMax引擎

11.1 OpenMax系统概述

11.2 OpenMax子系统结构

11.2.1 OpenMax系统的结构

11.2.2 Android中OpenMax的适配层

11.3 OpenMax BSP的结构

11.3.1 OpenMax IL层的接口

11.3.2 Android的OpenMax

11.4 OpenMax BSP的实现

11.4.1 OpenMax IL实现的内容

11.4.2 OMAP3的OpenMax IL实现的结构和机制

11.4.3 OMAP4的OpenMax IL实现

第12章 位块复制

12.1 位块复制概述

12.2 位块复制子系统结构

12.2.1 总体结构

12.2.2 copybit的调用者

12.3 位块复制BSP的结构

12.3.1 驱动程序

12.3.2 硬件抽象层的接口

12.3.3 实现硬件抽象层

12.4 位块复制的实现

第13章 无线局域网系统

13.1 无线局域网系统概述

13.2 无线局域网子系统的结构

13.2.1 总体的结构

13.2.2 wpa_supplicant工程

13.2.3 WiFi本地适配库

13.2.4 WiFi的JNI部分

13.2.5 WiFi的Java层

13.3 无线局域网BSP的结构

13.3.1 协议和驱动程序

13.3.2 用户空间的内容

13.4 无线局域网BSP的实现

13.4.1 基于BCM4329的方案(Nexus One和Nexus S)

13.4.2 OMAP平台的一个典型实现

13.4.3 Galaxy Nexus的实现

第14章 蓝牙系统

14.1 蓝牙系统概述

14.2 蓝牙子系统的结构

14.2.1 蓝牙系统的结构

14.2.2 BlueZ

14.2.3 bluedroid库

14.2.4 蓝牙的JNI部分

14.2.5 蓝牙的Java部分

14.3 BSP的结构

14.3.1 协议和驱动程序

14.3.2 本地代码的配置部分

14.4 Android 4.2的蓝牙系统

14.4.1 系统结构

14.4.2 蓝牙硬件模块

14.4.3 蓝牙系统的本地层部分

14.4.4 BlueTooth包

14.5 BSP的实现

14.5.1 Nexus One系统的蓝牙实现

14.5.2 Nexus S系统的蓝牙实现

14.5.3 Galaxy Nexus系统的蓝牙实现

第15章 定位系统

15.1 定位系统的概述

15.2 定位子系统的结构

15.2.1 总体结构

15.2.2 JNI部分

15.2.3 Java部分

15.3 定位BSP的结构

15.3.1 驱动程序

15.3.2 硬件抽象层的接口

15.3.3 实现硬件抽象层

15.4 定位BSP的实现

15.4.1 仿真器的GPS实现

15.4.2 Nexus One系统的实现

15.4.3 Nexus S系统的实现

15.4.4 Galaxy Nexus系统的实现

第16章 电话系统

16.1 电话系统概述

16.2 电话子系统的结构

16.2.1 总体结构

16.2.2 rild层

16.2.3 Java层中的电话部分

16.3 电话BSP的结构

16.3.1 驱动程序

16.3.2 RIL实现库接口(作为硬件抽象层)

16.4 电话BSP部分的实现

16.4.1 RIL的参考实现

16.4.2 数据连接部分

16.4.3 Mock RIL

第17章 警报器—实时时钟系统

17.1 警报器—实时时钟系统

17.2 警报器—实时时钟子系统的结构

17.2.1 总体结构

17.2.2 JNI部分

17.2.3 Java部分

17.2.4 Android系统时间方面的调用

17.3 警报器—实时时钟BSP部分的结构

17.3.1 RTC驱动程序

17.3.2 Alarm驱动程序

17.4 警报器—实时时钟BSP部分的实现

17.4.1 模拟器环境中的实现

17.4.2 MSM平台和Nexus One系统的实现

17.4.3 Nexus S系统的实现

17.4.4 Galaxy Nexus系统的实现

第18章 光系统

18.1 光系统概述

18.2 背光和指示灯子系统的结构

18.2.1 总体结构

18.2.2 JNI部分

18.2.3 Java服务部分和调用部分

18.3 背光和指示灯BSP部分的结构

18.3.1 驱动程序

18.3.2 硬件抽象层的内容

18.4 背光和指示灯BSP部分的实现

18.4.1 Nexus One系统的实现

18.4.2 Nexus S系统的实现

18.4.3 Galaxy Nexus 系统的实现

第19章 振动器系统

19.1 振动器系统概述

19.2 振动器子系统的结构

19.2.1 振动器部分的结构

19.2.2 JNI部分

19.2.3 Java框架部分

19.3 振动器BSP部分的结构

19.3.1 驱动程序

19.3.2 硬件抽象层的内容

19.4 振动器BSP部分的实现

19.4.1 Nexus One系统的实现

19.4.2 Nexus S系统的实现

19.4.3 Galaxy Nexus

第20章 电池信息部分

20.1 电池信息部分

20.2 电池信息子系统的结构

20.2.1 电池系统部分的结构

20.2.2 JNI部分

20.2.3 Java部分

20.3 电池信息BSP部分的结构

20.4 电池信息BSP部分的实现

20.4.1 模拟器中的实现

20.4.2 Nexus One

20.4.3 Nexus S

20.4.4 Galaxy Nexus

第21章 Android 4.x的音频、视频系统

21.1 Android 4.x的音频系统

21.1.1 音频系统的结构

21.1.2 音频框架层

21.1.3 音频BSP部分结构

21.2 Android 4.x音频的BSP实现

21.2.1 主实现和策略实现

21.2.2 仿真器实现

21.2.3 A2DP实现

21.2.4 Galaxy Nexus的实现

21.3 Android 4.x照相机系统

21.3.1 照相机系统的结构

21.3.2 Camera的框架层

21.3.3 照相机BSP部分结构

21.4 Android 4.x照相机的BSP实现

21.4.1 仿真器实现

21.4.2 Galaxy Nexus的实现

21.5 Android 4.x视频组合系统

21.5.1 视频组合系统结构

21.5.2 SurfaceFlinger对视频组合的使用

21.5.3 视频组合BSP部分结构

21.6 Android 4.x视频组合的BSP实现

21.6.1 默认实现

21.6.2 Galaxy Nexus的视频组合

第22章 Android 4.x近场通信系统

22.1 近场通信系统概述

22.2 近场通信子系统的结构

22.2.1 总体结构

22.2.2 NFC本地库

22.2.3 Android框架层的NFC相关内容

22.2.4 NFC包

22.3 近场通信BSP的结构

22.3.1 NFC-NCI接口

22.3.2 NFC接口

22.4 近场通信BSP的实现

22.4.1 NCI-NFC的桩实现

22.4.2 NFC的桩实现

22.4.3 Galaxy Nexus 的NFC实现

第23章 Android 4.2的电源控制

23.1 电源控制

23.2 电源控制的结构

23.2.1 总体结构

23.2.2 电源控制的使用

23.3 电源控制BSP的结构

23.4 电源控制BSP的实现

23.4.1 通用的电源控制实现

23.4.2 Galaxy Nexus的电源控制实现

第24章 本地时间

24.1 本地时间子系统结构

24.1.1 本地时间的结构

24.1.2 本地时间的使用

24.2 本地时间BSP的结构

24.3 本地时间BSP的实现

第25章 Android 4.2密钥

25.1 密钥概述

25.2 安全和密钥子系统结构

25.2.1 安全和密钥的总体结构

25.2.2 keystore守护进程

25.2.3 android.security的内容

25.3 密钥的BSP部分的结构

25.4 密钥的BSP实现

25.4.1 通用的软件密钥实现

25.4.2 Galaxy Nexus 的密钥实现

第26章 电源管理

26.1 Android电源管理

26.2 Android内核空间的电源管理

26.2.1 总体结构

26.2.2 wakelock

26.2.3 wakelock的用户空间

26.2.4 earlysuspend部分

26.2.5 其他

26.3 Android用户空间的电源管理

26.3.1 电源管理的本地库

26.3.2 电源管理的JNI库

26.3.3 电源管理的Java部分

26.4 电源管理的策略

26.4.1 驱动程序的变化

26.4.2 用户空间的控制

第27章 恢复和升级

27.1 恢复和升级概述

27.1.1 Android的Recovery系统的组成

27.1.2 Android的Recovery系统的功能和运行流程

27.2 recovery系统

27.2.1 编译系统

27.2.2 init.rc脚本

27.2.3 Recovery可执行程序和相关的库

27.3 Android系统交互的过程

27.3.1 Java部分

27.3.2 交互的场景