Android板级支持与硬件相关子系统以硬件相关的子系统为核心,提供具有完整知识体系Android系统级的开发知识。本书选定了几个流行的硬件作为参考平台,读者可以很容易地得到硬件和开源代码。本书突出了硬件相关的子系统的特点,展示了几个不同的硬件平台的内核结构,介绍了每个子系统的总体结构和BSP结构、每个子系统的BSP的实现要点,以及具体硬件在Linux内核与Android硬件抽象层相关的实现。
本书特别选定了Nexus One、Nexus S、Galaxy Nexus等几款手机作为参考平台。其中一个很大的优点就是以上几个平台都是Google认定的,具有典型性,并且它们从内核到Android系统的代码都是开源的,读者可以很容易获得。虽然以上几个硬件平台不是最新的,但是根据嵌入式SOC的特点,高通的处理器都与Nexus One的QSD 8x处理器类似,三星的处理器都与Nexus S的Exynos处理器类似,德州仪器的处理器都与Galaxy Nexus 的OMAP处理器类似。因此,这样的选择既方便又具有广泛的适应性,当读者熟悉了这几个硬件平台后,置于Marvel、Freescale和NVidia等公司的平台可以实现融会贯通。
本书特色
本书的目的是要为开发者提供切实有效的帮助。针对开发者的现实情况,本书主要具有以下几个特点:
- 用框图描述每一个硬件相关子系统的结构,并区分BSP部分和公用部分。
- 选用多个流行的硬件平台,对比其中不同的实现和相同的理念。
- 对比Android 2.3和Android 4.x的实现,展示硬件相关部分的升级。
- 对庞大的系统去耦合,展示Android一些原始的核心设计思路。
- 列出每一个部分相关的代码路径。
- 简要列出代码的关键部分。
- 根据实际经验编写,工程性强。
- 通过对每一个子系统的学习,读者可以了解现有Android系统的结构,经过深入理解后,可以明白Android系统的设计思路。学习后,如果要在系统中增加一个新的非标准硬件,读者也能比较容易地完成。