您现在的位置:首页 > 知识库 > 计算机与软件 >Android 板级支持与硬件相关子系统
Android 板级支持与硬件相关子系统

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

资料大小: 162.15 MB
文档格式: PDF文档
资料语言: 简体中文
资料类别: 计算机与软件
更新日期: 2020-04-02
下载说明:
推荐信息: 编著   子系统   硬件   相关   支持

本地下载(30点)  备用下载(30点)

内容简介
Android 板级支持与硬件相关子系统
出版时间:2013年版
内容简介
  本书以硬件相关的子系统为核心,提供具有完整知识体系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 交互的场景