为你推荐
书名页
内容简介
版权页
前 言
第1章 Android底层开发基础
1.1 什么是驱动
1.1.1 驱动程序的魅力
1.1.2 电脑中的驱动
1.1.3 手机中的驱动程序
1.2 开源还是不开源的问题
1.2.1 雾里看花的开源
1.2.2 从为什么选择Java谈为什么不开源驱动程序
1.2.3 对驱动开发者来说是一把双刃剑
1.3 Android和Linux
1.3.1 Linux简介
1.3.2 Android和Linux的关系
1.4 简析Linux内核
1.4.1 内核的体系结构
1.4.2 和Android密切相关的Linux内核知识
1.5 分析Linux内核源代码很有必要
1.5.1 源代码目录结构
1.5.2 浏览源代码的工具
1.5.3 为什么用汇编语言编写内核代码
1.5.4 Linux内核的显著特性
1.5.5 学习Linux内核的方法
第2章 分析Android源代码
2.1 搭建Linux开发环境和工具
2.1.1 搭建Linux开发环境
2.1.2 设置环境变量
2.1.3 安装编译工具
2.2 获取Android源代码
2.3 分析并编译Android源代码
2.3.1 Android源代码的结构
2.3.2 编译Android源代码
2.3.3 运行Android源代码
2.3.4 实践演练——演示编译Android程序的两种方法
2.4 编译Android Kernel
2.4.1 获取Goldfish内核代码
2.4.2 获取MSM内核代码
2.4.3 获取OMAP内核代码
2.4.4 编译Android的Linux内核
2.5 运行模拟器
2.5.1 Linux环境下运行模拟器的方法
2.5.2 模拟器辅助工具——adb
第3章 驱动需要移植
3.1 驱动开发需要做的工作
3.2 Android移植
3.2.1 移植的任务
3.2.2 移植的内容
3.2.3 驱动开发的任务
3.3 Android对Linux的改造
3.3.1 Android对Linux内核文件的改动
3.3.2 为Android构建 Linux的操作系统
3.4 内核空间和用户空间接口是一个媒介
3.4.1 内核空间和用户空间的相互作用
3.4.2 系统和硬件之间的交互
3.4.3 使用Relay实现内核到用户空间的数据传输
3.5 三类驱动程序
3.5.1 字符设备驱动程序
3.5.2 块设备驱动程序
3.5.3 网络设备驱动程序
第4章 HAL层深入分析
4.1 认识HAL层
4.1.1 HAL层的发展
4.1.2 过去和现在的区别
4.2 分析HAL层源代码
4.2.1 分析HAL moudle
4.2.2 分析mokoid工程
4.3 总结HAL层的使用方法
4.4 传感器在HAL层的表现
4.4.1 HAL层的Sensor代码
4.4.2 总结Sensor编程的流程
4.4.3 分析Sensor源代码看Android API 与硬件平台的衔接
4.5 移植总结
4.5.1 移植各个Android部件的方式
4.5.2 移植技巧之一——不得不说的辅助工作
第5章 Goldfish下的驱动解析
5.1 staging驱动
5.1.1 staging驱动概述
5.1.2 Binder驱动程序
5.1.3 Logger驱动程序
5.1.4 Lowmemorykiller组件
5.1.5 Timed Output驱动程序
5.1.6 Timed Gpio驱动程序
5.1.7 Ram Console驱动程序
5.2 wakelock和early_suspend
5.2.1 wakelock和early_suspend的原理
5.2.2 Android休眠
5.2.3 Android唤醒
5.3 Ashmem驱动程序
5.4 Pmem驱动程序
5.5 Alarm驱动程序
5.5.1 Alarm简析
5.5.2 Alarm驱动程序的实现
5.6 USB Gadget驱动程序
5.7 Android Paranoid驱动程序
5.8 Goldfish设备驱动
5.8.1 FrameBuffer驱动
5.8.2 键盘驱动
5.8.3 实时时钟驱动程序
5.8.4 TTY终端驱动程序
5.8.5 NandFlash驱动程序
5.8.6 MMC驱动程序
5.8.7 电池驱动程序
第6章 MSM内核和驱动解析
6.1 MSM基础
6.1.1 常见MSM处理器产品
6.1.2 Snapdragon内核介绍
6.2 移植MSM内核简介
6.3 移植MSM
6.3.1 Makefile文件
6.3.2 驱动和组件
6.3.3 设备驱动
6.3.4 高通特有的组件
第7章 OMAP内核和驱动解析
7.1 OMAP基础
7.1.1 OMAP简析
7.1.2 常见OMAP处理器产品
7.1.3 开发平台
7.2 OMAP内核
7.3 移植OMAP体系结构
7.3.1 移植OMAP平台
7.3.2 移植OMAP处理器
7.4 移植Android专用驱动和组件
7.5 OMAP的设备驱动
第8章 显示系统驱动应用
8.1 显示系统介绍
8.1.1 Android的版本
8.1.2 不同版本的显示系统
8.2 移植和调试前的准备
8.2.1 FrameBuffer驱动程序
8.2.2 硬件抽象层
8.3 实现显示系统的驱动程序
8.3.1 Goldfish中的FrameBuffer驱动程序
8.3.2 使用Gralloc模块的驱动程序
8.4 MSM高通处理器中的显示驱动实现
8.4.1 MSM中的FrameBuffer驱动程序
8.4.2 MSM中的Gralloc驱动程序
8.5 OMAP处理器中的显示驱动实现
第9章 输入系统驱动应用
9.1 输入系统介绍
9.1.1 Android输入系统结构元素介绍
9.1.2 移植Android输入系统时的工作
9.2 Input(输入)驱动
9.3 模拟器的输入驱动
9.4 MSM高通处理器中的输入驱动实现
9.4.1 触摸屏驱动
9.4.2 按键和轨迹球驱动
9.5 OMAP处理器平台中的输入驱动实现
9.5.1 触摸屏驱动
9.5.2 键盘驱动
第10章 振动器系统驱动
10.1 振动器系统结构
10.1.1 硬件抽象层
10.1.2 JNI框架部分
10.2 开始移植
10.2.1 移植振动器驱动程序
10.2.2 实现硬件抽象层
10.3 在MSM平台实现振动器驱动
第11章 音频系统驱动
11.1 音频系统结构
11.2 分析音频系统的层次
11.2.1 层次说明
11.2.2 Media库中的Audio框架
11.2.3 本地代码
11.2.4 JNI代码
11.2.5 Java代码
11.3 移植Audio系统的必备技术
11.3.1 移植Audio系统所要做的工作
11.3.2 分析硬件抽象层
11.3.3 分析AudioFlinger中的Audio硬件抽象层的实现
11.4 真正实现Audio硬件抽象层
11.5 MSM平台实现Audio驱动系统
11.5.1 实现Audio驱动程序
11.5.2 实现硬件抽象层
11.6 OSS平台实现Audio驱动系统
11.6.1 OSS驱动程序介绍
11.6.2 mixer
11.7 ALSA平台实现Audio系统
11.7.1 注册音频设备和音频驱动
11.7.2 在Android中使用ALSA声卡
11.7.3 在OMAP平台移植Android的ALSA声卡驱动
第12章 视频输出系统驱动
12.1 视频输出系统结构
12.2 需要移植的部分
12.3 分析硬件抽象层
12.3.1 Overlay系统硬件抽象层的接口
12.3.2 实现Overlay系统的硬件抽象层
12.3.3 实现接口
12.4 实现Overlay硬件抽象层
12.5 在OMAP平台实现Overlay系统
12.5.1 实现输出视频驱动程序
12.5.2 实现Overlay硬件抽象层
12.6 系统层调用Overlay HAL的架构
12.6.1 调用Overlay HAL的架构的流程
12.6.2 S3C6410 Android Overlay的测试代码
第13章 OpenMax多媒体框架
13.1 OpenMax基本层次结构
13.2 分析OpenMax框架构成
13.2.1 OpenMax总体层次结构
13.2.2 OpenMax IL层的结构
13.2.3 Android中的OpenMax
13.3 实现OpenMax IL层接口
13.3.1 OpenMax IL层的接口
13.3.2 在OpenMax IL层中需要做什么
13.3.3 研究Android中的OpenMax适配层
13.4 在OMAP平台实现OpenMax IL
13.4.1 实现文件
13.4.2 分析TI OpenMax IL的核心
13.4.3 实现TI OpenMax IL组件实例
第14章 多媒体插件框架
14.1 Android多媒体插件
14.2 需要移植的内容
14.3 OpenCore引擎
14.3.1 OpenCore层次结构
14.3.2 OpenCore代码结构
14.3.3 OpenCore编译结构
14.3.4 OpenCore OSCL
14.3.5 实现OpenCore中的OpenMax部分
14.3.6 OpenCore的扩展
14.4 Stagefright引擎
14.4.1 Stagefright代码结构
14.4.2 Stagefright实现OpenMax接口
14.4.3 Video Buffer传输流程
第15章 传感器系统
15.1 传感器系统的结构
15.2 需要移植的内容
15.2.1 移植驱动程序
15.2.2 移植硬件抽象层
15.2.3 实现上层部分
15.3 在模拟器中实现传感器
第16章 照相机系统
16.1 Camera系统的结构
16.2 需要移植的内容
16.3 移植和调试
16.3.1 V4L2驱动程序
16.3.2 硬件抽象层
16.4 实现Camera系统的硬件抽象层
16.4.1 Java程序部分
16.4.2 Camera的Java本地调用部分
16.4.3 Camera的本地库libui.so
16.4.4 Camera服务libcameraservice.so
16.5 MSM平台实现Camera系统
16.6 OMAP平台实现Camera系统
第17章 Wi-Fi系统、蓝牙系统和GPS系统
17.1 Wi-Fi系统
17.1.1 Wi-Fi系统的结构
17.1.2 需要移植的内容
17.1.3 移植和调试
17.1.4 OMAP平台实现Wi-Fi
17.1.5 配置Wi-Fi的流程
17.1.6 具体演练——在Android下实现Ethernet
17.2 蓝牙系统
17.2.1 蓝牙系统的结构
17.2.2 需要移植的内容
17.2.3 具体移植
17.2.4 MSM平台的蓝牙驱动
17.3 定位系统
17.3.1 定位系统的结构
17.3.2 需要移植的内容
17.3.3 移植和调试
第18章 电话系统
18.1 电话系统基础
18.1.1 电话系统简介
18.1.2 电话系统结构
18.2 需要移植的内容
18.3 移植和调试
18.3.1 驱动程序
18.3.2 RIL接口
18.4 电话系统实现流程分析
18.4.1 初始启动流程
18.4.2 request流程
18.4.3 response流程
第19章 其他系统
19.1 Alarm警报器系统
19.1.1 Alarm系统的结构
19.1.2 需要移植的内容
19.1.3 移植和调试
19.1.4 模拟器环境的具体实现
19.1.5 MSM平台实现Alarm
19.2 Lights光系统
19.2.1 Lights光系统的结构
19.2.2 需要移植的内容
19.2.3 移植和调试
19.2.4 MSM平台实现光系统
19.3 Battery电池系统
19.3.1 Battery系统的结构
19.3.2 需要移植的内容
19.3.3 移植和调试
19.3.4 在模拟器中实现电池系统
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜